使用Global.asax中的Application_Start()方法启动后,Web服务冻结

时间:2015-08-19 07:06:54

标签: c# forms web-services global-asax

我正在使用Web Service方法返回在我的Web服务启动后执行约40秒的列表(该方法是从Application_Start()中的Global.asax事件启动的。

问题是Web服务在此方法需要的时候被冻结,并且我的应用程序在获取此列表之前不会启动(实际上它已启动,但也被冻结,甚至不显示表单)。

有什么办法可以解决吗?也许在Application_Start()异步调用这个方法?任何帮助都将非常感激。

Global.asax中的代码:

protected void Application_Start(object sender, EventArgs e)
    {
        WebService WS = new WebService();
        WS.RecursiveFileProcessor();
    }

1 个答案:

答案 0 :(得分:0)

您可以将该机制作为单独的任务启动:

protected void Application_Start(object sender, EventArgs e)
{
    Task.Factory.StartNew(() => 
    {
        WebService WS = new WebService();
        WS.RecursiveFileProcessor();
    });
}

这应该停止服务暂停。