【发布时间】:2013-05-01 13:26:40
【问题描述】:
我有一个调用服务的方法,如下所示。
如何通过线程运行此方法?
public List<AccessDetails> GetAccessListOfMirror(string mirrorId,string server)
{
List<AccessDetails> accessOfMirror = new List<AccessDetails>();
string loginUserId = SessionManager.Session.Current.LoggedInUserName;
string userPassword = SessionManager.Session.Current.Password;
using (Service1Client client = new Service1Client())
{
client.Open();
accessOfMirror = client.GetMirrorList1(mirrorId, server, null);
}
return accessOfMirror;
}
【问题讨论】:
-
他问是否,以及如何在给定返回类型的情况下将该方法作为线程运行。
-
应该把结果放在哪里?如果你使用 C# 5,你应该看看Async & Await
-
为什么要在线程中运行它?您希望从中获得什么?我问的原因是你有这个帖子标记为
ASP.NET,它可以提供解决这个问题的不同方法。如果您在线程上关闭它,然后无论如何都必须等待结果,您将不会获得任何性能,因为 http 请求仍然需要相同的时间。如果您快速返回基本页面,然后使用 AJAX 作为单独的请求获取此数据,它可能会为您提供更好的性能。因此来自@Silvermind 的问题是什么? -
我正在使用 .net4.0 框架。结果列表将用作我的 gridview 的数据源。该服务检查 70 台服务器上的用户是否存在(每台服务器平均有 6 个数据库)并获取用户详细信息(如果存在)。所以处理时间太长了。考虑应用线程,以便进程运行得更快。
-
@Shane.C 如您所见,提供的答案都是假设。它已经在一个线程中运行(我认为他的意思是另一个线程,但我不能假设一切)。这个问题的目的和目的是什么?提问者想要达到什么目的?那是我真正的意思,也许我应该把它打出来,这可能是我的错。
标签: c# asp.net multithreading