在我的代码中,我使用静态字段来存储特定值。

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服务ID。因为我们正在使用它根据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
}

最佳答案

Session variable in WCF application

也许这会有所帮助,请查看RandomNoob的答案。

10-05 17:58