В моем коде я использую статическое поле для хранения определенного значения.
public static int webServiceId;
Я удалил это и использую любое другое решение. Но значение следует сохранить после обратной передачи. Мы не можем использовать Session или ViewState здесь. Потому что я работаю со службами (в слое Service).
Пример:
Я получаю идентификатор веб-сервиса в следующем методе файла xyz.cs:
public int SetWebServiceInformation(int? webServiceID, string webServiceName)
{
context.WebService_InsertUpdate(ref webServiceID, webServiceName);
webServiceId = webServiceID.Value;
return webServiceID.Value;
}
и затем управление переходит к другому методу другого файла класса (скажем, к файлу abd.cs). И предположим, что при вызове исключения метода он вызовет метод LogError (ошибка исключения) моего файла первого класса (xyz.cs).
И когда элемент управления возвращается в наш файл классов (xyz.cs), нам нужно вернуть идентификатор веб-службы. Потому что мы используем это для хранения информации об исключениях в базе данных в соответствии с идентификатором веб-сервиса.
protected void LogError(Exception error)
{
----//some logic to get errorLogID//---
if (errorLogID > 0)
WebServiceErrorLogging(errorLogID, webServiceId);
//here we have webServiceId is a static variable
}