我在想如果下面的代碼是線程安全的?ASP.NET是System.Web.UI.Page線程安全
我可以確定UniqueFoo
確實是Unique Foo,不會被重寫嗎?
public partial class Dummy : System.Web.UI.Page
{
public string UniqueFoo{ get; set; }
protected void Page_Load(object sender, EventArgs e)
{
var id = int.Parse(Request["Id"]);
UniqueFoo = SomeThreadSafeWCF.GetUniqueFoo(id);
}
}
怎麼樣以下(靜態)
public partial class Dummy : System.Web.UI.Page
{
public static string UniqueFoo{ get; set; }
protected void Page_Load(object sender, EventArgs e)
{
var id = int.Parse(Request["Id"]);
UniqueFoo = SomeThreadSafeWCF.GetUniqueFoo(id);
}
}
我以後要在[WebMethod]
[WebMethod]
public static void SetSomeObject(SetSomeObject obj)
{
SomeThreadSafeWCF service = new SomeThreadSafeWCF();
service.SetSomeObject(UniqueFoo, obj);
}
編輯使用UniqueFoo
: 我從JS和UniqueFoo
越來越SetSomeObject
來自ASP.NET 將ih根據你的回答,在我的Dummy
類中沒有使用static
時有任何問題嗎?
謝謝Darin,關於WebMethod調用。如果我仍然按照我的方式稱呼它,這是否好?我從JS傳遞'SetSomeObject','UniqueFoo'來自ASP.NET。你看到這個問題嗎? – user829174
是的,我看到了問題,因爲您正在重寫每個請求上的靜態字段的值。 –
因此,根據你的建議,我需要從JS中帶來'uniqueFoo'。對?確切地說, – user829174