WinForm中的SignalR聊天应用程序与远程客户端 [英] SignalR Chat App in WinForm With Remote Clients

查看:24
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆