gpt4 book ai didi

wcf - 具有 WCF 服务的 SignalR 自托管和客户端将是桌面用户

转载 作者:行者123 更新时间:2023-12-05 03:15:09 25 4
gpt4 key购买 nike

我的场景是我需要一个 SignalR 自托管 WCF 服务来响应并向来自 Winform 或 WPF 的所有连接用户发送消息。

我已经尝试了很多如下:

  • 我已经使用 SignalR 自托管代码创建了 WCF 服务,如下所示,其中包含 3 个类和 1 个接口(interface)。
        namespace SignalRServiceClass{    [ServiceContract]    public interface ISignalRServiceClass    {        [OperationContract]        string GetsMessage(string name);        [OperationContract]        void Configuration(IAppBuilder app);        [OperationContract]        void Send(string name, string message);    }}namespace SignalRServiceClass{    public class SignalRServiceClass : ISignalRServiceClass    {        public string GetsMessage(string name)        {            return "Message From Service " + name + "!";        }    }}namespace SignalRServiceClass{    class ClassHub : Hub    {        public void Send(string name, string message)        {            Clients.All.addMessage(name, message);        }    }}namespace SignalRServiceClass{    class Startup    {        public void Configuration(IAppBuilder app)        {           // app.UseCors(CorsOptions.AllowAll);           // app.MapSignalR();            app.Map("/signalr", map =>                {                    map.UseCors(CorsOptions.AllowAll);                    var hubConfiguration= new HubConfiguration                    {                        EnableDetailedErrors=true,                        EnableJSONP= true                    };                    map.RunSignalR(hubConfiguration);                });        }    }}

其次是 Winform 客户端。我在这里对如何管理客户端代码感到困惑,但我放了一些代码进行测试,如下所示。

 private void button1_Click(object sender, EventArgs e)        {            //MessageBox.Show(test.GetsMessage("This is the Test Message"));            var hubConnection = new HubConnection("http://localhost:50172/");            var serverHub = hubConnection.CreateHubProxy("MessageRecievingHub");            serverHub.On("broadCastToClients", message => MessageBox.Show(message));            hubConnection.Start().Wait();        }

请以这种方式指导我。您的帮助将不胜感激。我已经尝试并在谷歌上搜索了很多但都是徒劳的。

非常感谢。

最佳答案

您不需要 SignalR,您需要 XSockets WCF sample

关于wcf - 具有 WCF 服务的 SignalR 自托管和客户端将是桌面用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com