我有一个网络服务并在构造函数中启动了很多方法。我需要很多这些“结束”(例如数据库连接终止等),是否有一种简单而花哨的方法来做到这一点,有点像构造函数(de-contructor),即。在 web 服务方法调用结束时运行的方法?在每种方法结束时重复所有内容,感觉必须有更聪明的方法。
我选择的语言是 c#
我有一个网络服务并在构造函数中启动了很多方法。我需要很多这些“结束”(例如数据库连接终止等),是否有一种简单而花哨的方法来做到这一点,有点像构造函数(de-contructor),即。在 web 服务方法调用结束时运行的方法?在每种方法结束时重复所有内容,感觉必须有更聪明的方法。
我选择的语言是 c#
这种方法怎么样?
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;
}
您可以使用try finally并将所有整理内容放在 finally 部分中。
将其放在 Web 服务方法中:
[WebMethod]
public void DoSomething(string value)
{
try
{
//Do Something
}
finally
{
//Tidy up after methods in the try have ended
}
}