我有一個ASP.NET WebForms應用程序,它具有多個SignalR集線器,這些集線器將從WPF應用程序調用。最初,我通過控制檯應用程序而不是WPF應用程序對此進行了測試,以證明這一概念。這真是太棒了,瞬間。SignalR - 從WPF應用程序調用集線器的速度很慢
最近我已經開始在WPF應用程序中調用集線器,使用完全相同的代碼,並且我遇到了很多速度問題(均在本地和遠程調用時) - connection.Start()。 ()通話可能需要長達30秒!
有什麼明確的理由,爲什麼連接到WPF中的http url可能會很慢?我的代碼調用如下。我曾嘗試在單獨的線程中執行調用,但這並沒有幫助。
private static void Execute(string hubName, List<KeyValuePair<string,object[]>> items)
{
FBDBDataContext dc = new FBDBDataContext();
string url = ConfigurationManager.AppSettings["WebURL"];
var connection = new HubConnection(url);
IHubProxy myHub = connection.CreateHubProxy(hubName);
connection.Start().Wait(); // not sure if you need this if you are simply posting to the hub
foreach (var kvp in items)
myHub.Invoke(kvp.Key, kvp.Value);
}
嘗試跟蹤連接,看看是否會產生更多關於爲什麼SignalR需要30秒才能連接的信息。您可以直接跟蹤控制檯,如下所示:'connection.TraceWriter = Console.Out;'。 – halter73