У меня сейчас что-то вроде этого:
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string Method1()
{
SomeObj so = SomeClass.GetSomeObj(); //this executes very long time, 50s and more
return so.Method1(); //this exetus in a moment
}
[WebMethod]
public string Method2()
{
SomeObj so = SomeClass.GetSomeObj(); //this executes very long time, 50s and more
return so.Method2(); //this exetus in a moment
}
...
}
Можно ли создать веб-сервис с отслеживанием состояния, чтобы я мог повторно использовать SomeObj so
и просто вызывать методы для одного и того же объекта?
Таким образом, клиент, который будет использовать этот сервис, сначала вызовет веб-метод, который создаст объект so
и вернет некоторый идентификатор.И затем при последующих вызовах веб-служба будет повторно использовать тот же so
объект на основе идентификатора.
EDIT
Вот мой фактический код:
[WebMethod]
public List<ProcInfo> GetProcessList(string domain, string machineName)
{
string userName = "...";
string password = "...";
TaskManager tm = new TaskManager(userName, password, domain, machineName);
return tm.GetRunningProcesses();
}
[WebMethod]
public bool KillProcess(string domain, string machineName, string processName)
{
string userName = "...";
string password = "...";
(new TaskManager(userName, password, domain, machineName);).KillProcess(processName);
}