我正在开发一个使用Web Service返回的两个列表的应用程序。我在Global.asax Application_Start事件中创建了这些列表。我的代码:
protected void Application_Start(object sender, EventArgs e)
{
Task.Factory.StartNew(() =>
{
WebService WS = new WebService();
if(WS.PrzeslijCzyZrobMD5() == true)
{
WS.RecursiveFileProcessor();
}
else
{
WS.StworzListeMetodaDlugosci();
}
});
}
RecursiveFileProcessor是一个WebMethod,它使用MD5哈希值创建文件列表。创建它需要80秒。 StworzListeMetodaDlugosci是一个WebMethod,它创建一个文件列表及其长度,创建它需要1秒。
在我的应用程序的开头,我选择了我想要比较文件的方法。我的目标是在Web服务启动后立即同时加载这两个列表,因为我想在等待MD5时使用长度方法列表。
关键是如果列表未满,则列表应返回null。 (例如,如果文件夹中有100个文件,如果列表未填充所有100个文件,则WebMethod应返回null,如果列表中包含所有100个文件,则返回列表。)
此方法将列表返回到我的应用程序:
[WebMethod]
public List<string> returnMD5List()
{
if (returnNullForList== true)
{
return null;
}
else
{
return FilesInWSList;
}
}
有没有办法实现这个目标?任何帮助都将非常感激。