在我的代碼中,我使用靜態字段來存儲特定的值。替代靜態變量?
public static int webServiceId;
我已刪除並使用任何其他解決方案。但回傳後應保留該值。我們不能在這裏使用Session或ViewState。因爲我正在使用服務(在服務層)。
例子:
我得到xyz.cs文件的方法如下web服務ID:
public int SetWebServiceInformation(int? webServiceID, string webServiceName)
{
context.WebService_InsertUpdate(ref webServiceID, webServiceName);
webServiceId = webServiceID.Value;
return webServiceID.Value;
}
,然後控制進入不同的類文件的另一種方法(比如abd.cs文件)。假設在調用方法異常時它會調用我的第一個類文件(xyz.cs)的方法LogError(Exception error)。 當控件返回到我們的類文件(xyz.cs)中時,我們需要返回web服務標識。因爲我們正在使用它根據web服務Id將異常信息存儲到數據庫中。
protected void LogError(Exception error)
{
----//some logic to get errorLogID//---
if (errorLogID > 0)
WebServiceErrorLogging(errorLogID, webServiceId);
//here we have webServiceId is a static variable
}
對你施加了什麼約束,意味着你不能使用靜態變量? – 2010-06-22 07:42:17
@David:你絕對不應該在ASP.NET/WCF – 2010-06-22 07:47:59
@Henk中使用靜態變量,而不是在ASP.NET/WCF – 2010-06-22 07:55:02