如何创建在 Web 服务方法结束时运行的方法

本文关键字:方法 服务 结束 运行 Web 何创建 创建 | 更新日期: 2023-09-27 18:36:25

我有一个Web服务,并在构造函数中启动了很多方法。我需要很多这些"结束"(例如数据库连接终止等),有没有一种简单而花花公子的方法可以做到这一点,有点像构造函数(de-contructor),即。在 Web 服务方法调用结束时运行的方法?在每种方法结束时重复所有内容,感觉必须有更聪明的方法。

我选择的语言是 c#

如何创建在 Web 服务方法结束时运行的方法

这种方法呢?

    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
    }
}