Luk*_*ina 30 c# asp.net signalr
我试图让websockets在我的开发环境中工作:
不幸的是,Javscript客户端正在使用长轮询.当我在客户端强制使用Web套接字时,我根本无法连接:
$.connection.hub.start({ transport: ['webSockets'] })
Run Code Online (Sandbox Code Playgroud)
服务器代码是自托管的,基于示例,如下所示:
static void Main(string[] args)
{
string url = "http://localhost:8081/";
var server = new Server(url);
// Map the default hub url (/signalr)
server.MapHubs();
// Start the server
server.Start();
Console.WriteLine("Server running on {0}", url);
// Keep going until somebody hits 'x'
while (true)
{
ConsoleKeyInfo ki = Console.ReadKey(true);
if (ki.Key == ConsoleKey.X)
{
break;
}
}
}
public class MyHub : Hub
{
public void Send(string message)
{
Clients.addMessage(message);
}
}
Run Code Online (Sandbox Code Playgroud)
我四处搜寻,没有发现任何确定性.我是否需要指定一些额外的东西,使用Visual Studio 2012或者这只适用于Windows 8/IIS 8?
Maa*_*ten 56
即使在Windows 8/.NET 4.5上它最初也不起作用,但是通过这些额外的提示,我终于得到了它的工作.
安装websocket支持
-> Turn Windows features on or off
-> Internet Information Services
-> World Wide Web Services
-> Application Development Features
-> WebSocket Protocol
Run Code Online (Sandbox Code Playgroud)在web.config中,在appSettings下,添加以下设置:
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
Run Code Online (Sandbox Code Playgroud)SignalR自动协商websockets,不必指定它,代码中不需要任何特殊内容.
Las*_*sen 23
基于这个答案/sf/answers/639473411/,您将看到SignalR中的WebSocket支持依赖于Windows 8/IIS8 - 答案也指向SignalR的github页面上的wiki页面,但是,该页面确实如此不再存在了.
但是,通过在github上克隆wiki repo并返回一些修订版,您将看到SignalR.WebSockets根据SignalR的github页面不再存在的项目文档- (这可能解释了为什么删除了wiki站点) - 但是,在SignalR.WebSockets从今年2月开始修改wikipage ,它声明:
所述SignalR.WebSockets 包可以被添加到现有的SignalR项目以允许客户端使用来连接WebSocket协议.SignalR jQuery客户端将自动尝试通过WebSockets进行连接(如果浏览器支持它),因此在客户端不需要对基于SignalR的应用程序添加WebSockets进行任何更改.
SignalR.WebSockets依赖于 Microsoft.WebSockets ,以便从ASP.NET中侦听传入的WebSocket连接.此包依赖于添加到ASP.NET 4.5和IIS 8.0的新WebSockets支持.因此,SignalR.WebSockets包只能在Windows 8计算机上运行(.NET 4.5将在早期版本的Windows上安装,但IIS 8.0需要Windows 8).有关如何设置Windows 8计算机的更多信息(使用开发人员预览),请参阅 此处.
我尝试过搜索比上面提供的更新的信息,但据我所知,SignalR wiki并未在其当前版本中明确涵盖此主题.
| 归档时间: |
|
| 查看次数: |
40363 次 |
| 最近记录: |