SignalR 作为 WCF 网络套接字服务

标签 signalr

是否可以将 SignalR 托管为 WCF websocket 服务的一部分,而不是作为 ASP.net 网站的一部分。我知道将消息从 Web 服务推送到 signalR 客户端,但是当从浏览器打开套接字连接时它是否也可能映射到 Web 服务契约(Contract)?

最佳答案

您可以自行托管 SignalR 服务器:

取自(https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs):

入门 首先,安装以下软件包:

Install-Package Microsoft.Owin.Hosting -pre
Install-Package Microsoft.Owin.Host.HttpListener -pre
Install-Package Microsoft.AspNet.SignalR.Owin -pre

using System;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin.Hosting;
using Owin;

namespace SignalR.Hosting.Self.Samples
{
class Program
{
    static void Main(string[] args)
    {
        string url = "http://172.0.0.01:8080";

        using (WebApplication.Start<Startup>(url))
        {
            Console.WriteLine("Server running on {0}", url);
            Console.ReadLine();
        }
    }
}

class Startup
{
    public void Configuration(IAppBuilder app)
    {
        // This will map out to http://localhost:8080/signalr by default
        // This means a difference in the client connection.

        app.MapHubs();
    }
}

public class MyHub : Hub
{
    public void Send(string message)
    {
        Clients.All.addMessage(message);
    }
}

关于SignalR 作为 WCF 网络套接字服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12562859/

相关文章:

nuget - RavenDB和SignalR Nuget包依赖关系冲突

c# - 如何将signalR实现到通过后端服务连接的两个项目

asp.net - SignalR 不支持 Windows 集成身份验证

c# - 如何将 Signalr 扩展到大量用户

c# - 我需要多少 Azure SignalR 资源?

javascript - “Hub”是一个不明确的指代

c# - 简单的聊天应用信号器

c# - ASP.NET Web 应用程序(.NET 框架)中的 asp.net core SignalR 配置

c# - Signalr 客户端版本 1.5,服务器版本未定义

c# - 如何在 .net 3.5 中使用 SignalR