TCM*_*TCM 3 .net c# asp.net iis signalr
我正在尝试在我的Web应用程序中使用SignalR,它在IIS 7.5上托管.
我使用的是Windows 7 X64(不带SP1)和.Net 4.5和SignalR v2.0.3.0.
如果我从IIS Express运行Web应用程序它工作正常,没有任何事情挂起,但只要我从IIS 7.5运行它就会挂起我的应用程序.我确认如果我禁用这段代码:
$.connection.hub.start().done(function () {
});
Run Code Online (Sandbox Code Playgroud)
一切正常.以下是截图,表明在启动集线器后,所有请求都处于无限期阻塞状态.甚至中心需要大约8-9秒来响应,但即使在那之后,如果我请求一个简单的JPG,我什么也得不到,并进入无限阻塞状态.

这是应用程序池的屏幕截图.我在集成模式下运行.

这是Hub类:
public class AppHub : Hub
{
public override Task OnConnected()
{
if (Context.User != null)
{
var email = Context.User.Identity.Name;
if (!string.IsNullOrEmpty(email))
{
UserRepository userRepository = new UserRepository();
userRepository.DoSomething(email, Context.ConnectionId);
}
}
return base.OnConnected();
}
public override Task OnDisconnected()
{
if (Context.User != null)
{
var email = Context.User.Identity.Name;
if (!string.IsNullOrEmpty(email))
{
UserRepository userRepository = new UserRepository();
userRepository.DoSomething1(email, Context.ConnectionId);
}
}
return base.OnDisconnected();
}
}
Run Code Online (Sandbox Code Playgroud)
该文档指出您应该在您的开发计算机上使用IIS express,因为并发请求数量有限
当SignalR托管在IIS中时,支持以下版本.请注意,如果使用客户端操作系统(例如用于开发(Windows 8或Windows 7)),则不应使用完整版本的IIS或Cassini,因为将会施加10个同时连接的限制,这将很快达到由于连接是短暂的,经常重新建立,并且在不再使用时不立即处理.应在客户端操作系统上使用IIS Express
Windows 10也是如此.
取自SignalR文档:http: //www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/supported-platforms
| 归档时间: |
|
| 查看次数: |
1367 次 |
| 最近记录: |