WinForm中的SignalR聊天应用程序与远程客户端 [英] SignalR Chat App in WinForm With Remote Clients
本文介绍了WinForm中的SignalR聊天应用程序与远程客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是SignalR的新手,我尝试过从GitHub等不同网站学习
但是我找不到解决我问题的办法.现在我有点糊涂了…
我的问题是:
我在WinForm中开发了一个带有Web服务和中央数据库的聊天应用程序,它在不同的国家/地区运行良好,就像在一个组织的不同分支机构中一样。
但是我想将聊天应用程序转换为SignalR以实现更高的效率,但我不明白如何在SignalR中进行转换。因为SignalR on Web的所有教程都在一个解决方案中。就像Web、控制台或WinRT一样,它们彼此通信,但它们在一个解决方案中,但在我的场景中,我无法将服务或网页放入WinForm应用程序中。
请以这种方式帮助我。
推荐答案
您需要做的是为.NET客户端使用SignalR。假设您使用的是Visual Studio,则使用NuGet将其引入到您的项目中。
您一般需要导入以下内容:
using Microsoft.AspNet.SignalR.Client;
using Microsoft.AspNet.SignalR.Client.Hubs;
假设您遵循的是Web上的大多数教程,您可能需要以下内容才能连接:
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");
此部件需要在异步函数中:
//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
这篇关于WinForm中的SignalR聊天应用程序与远程客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文