我有一个webservice并在构造函数中启动了很多方法。我需要很多这些“已结束”(例如数据库连接终止等),是否有一种简单而花哨的方式来做这个有点像构造函数(de-contructor),即。在webservice方法调用结束时运行的方法?在每种方法结束时重复所有事情,感觉必须有一种更聪明的方式。
我选择的语言是c#
答案 0 :(得分:3)
这种做法怎么样?
private void WebMethodAction()
{
Execute(() =>
{
Console.WriteLine("Hello World");
});
}
private int WebMethodFunc(int a, int b)
{
return Execute(() =>
{
return (double)a / (double)b;
});
}
public void Execute(Action action)
{
// call Execute<T> and discard result
Execute(() => { action.Invoke(); return true; });
}
public T Execute<T>(Func<T> func)
{
T result = func.Invoke();
// cleanup
Console.WriteLine("Cleanup");
return result;
}
答案 1 :(得分:0)
您可以使用try finally并将所有整理放在最后一部分中。
将其放在Web服务方法中:
[WebMethod]
public void DoSomething(string value)
{
try
{
//Do Something
}
finally
{
//Tidy up after methods in the try have ended
}
}