2013-12-09 122 views
2

我在signalR新的,我已經嘗試從不同的網站如GitHub上,學習等等等等SignalR聊天應用程序在winform隨着遠程客戶端

,但我無法找到我的問題的解決方案....現在我越來越糊塗......

我的問題是:

我公司開發的聊天應用程序在winform與Web Services和中央數據庫,它是在不同的國家作爲一個組織的不同分支做工精細。

但我想將該聊天應用程序轉換爲SignalR以實現更高的效率,但我無法理解,如何在SignalR中執行此操作。因爲所有的Web上的SignalR教程都是一個解決方案。

像Web,Console或WinRT相互溝通,但他們在一個解決方案,但在我的scenerio我不能把服務或網頁放在WinForm應用程序。

請以這種方式幫助我。

回答

7

你需要做的是使用SignalR for .NET客戶端。假設您使用的是Visual Studio,請使用NuGet將其引入您的項目。

您需要導入一般如下:

using Microsoft.AspNet.SignalR.Client; 
using Microsoft.AspNet.SignalR.Client.Hubs; 

假設你是以下大部分在網絡上的教程,你可以需要以下連接:

public IHubProxy Proxy { get; set; } 
public HubConnection Connection { get; set; } 

你也將需要設置連接如下:

public string Host = "http://YourSignalRChatAppLocationOnAzureOrLocally.cloudapp.net/"; 
Connection = new HubConnection(Host); 
//Assuming your SignalR hub is also called ChatHub (If you followed most tutorials it will be) 
Proxy = Connection.CreateHubProxy("ChatHub"); 

這部分將需要在異步f結:

//If you are passing an object back and fourth otherwise String is fine 
Proxy.On<ChatMessage>("Send", hello => OnSendData("Recieved send " + hello.Username + " " + hello.Content)); 
await Connection.Start(); 

更多材料來回下面的鏈接,這傢伙它的控制檯應用程序,WPF應用程序和Web客戶機上運行,​​所以你可以看到其中的差別。

Standard tutorial on how to make the web server.

SIGNALR MESSAGING WITH CONSOLE SERVER AND CLIENT, WEB CLIENT, WPF CLIENT

+0

謝謝你的偉大的答案,但我需要SignalR消息與Web服務器和WPF客戶端...你可以給我WCF SignalR服務器和客戶端WPF的想法...或者遠程WPF到WPF通信,如skype –

+0

這僅僅是一個示例,其中代碼作爲控制檯服務器運行該代碼,您可以將代碼從Web服務器中取出並在沒有任何問題的情況下提供。事實上,如果您使用Microsoft的標準教程,它將向您展示如何製作Web服務器,然後您可以使用他用於連接的同一類型的WPF客戶端。 –

相關問題