使用Global.asax中的Application_Start()方法启动Web服务后冻结
本文关键字:启动 方法 Web 服务 冻结 asax Global 中的 Application Start 使用 | 更新日期: 2023-09-27 18:08:51
我正在使用一个Web服务方法返回一个列表,该列表在我的Web服务启动后执行了大约40秒(该方法是从Global.asax
中的Application_Start()
事件启动的)。
问题是Web服务被冻结了这个方法需要的时间,我的应用程序不会启动,直到它得到这个列表(实际上它启动了,但也被冻结了,甚至不显示表单)。
有什么办法可以处理吗?也许在Application_Start()
异步调用这个方法?如有任何帮助,我将不胜感激。
Global.asax中的代码:
protected void Application_Start(object sender, EventArgs e)
{
WebService WS = new WebService();
WS.RecursiveFileProcessor();
}
您可以将该机制作为一个单独的任务启动:
protected void Application_Start(object sender, EventArgs e)
{
Task.Factory.StartNew(() =>
{
WebService WS = new WebService();
WS.RecursiveFileProcessor();
});
}