我一直在努力解决这个问题.我们正在使用最新的SignalR 2.0.3.当我们添加到多个SignalR组时会发生问题.仅当具有不同组名的同一connectionId发生多个添加时,才会抛出异常.仅在选择LongPolling传输时才会抛出异常.只有当您添加6个或更少的5个以上的唯一组名时才会抛出异常,并且它可以正常工作.
这是一个简化的例子:
Index.cshtml:
@model Int32?
<!DOCTYPE html>
<head>
<title></title>
<script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"/>
<script src="@Url.Content("~/Scripts/jquery.signalR-2.0.3.min.js")"
type="text/javascript" />
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"/>
</head>
<script>
_testHub = $.connection.testHub;
_testHub.client.sayHello = sayHello;
$.connection.hub.start({ transport: 'longPolling' })
.done(function() {
addAllGroups();
});
function sayHello(aMessage, aGroupName) {
console.info("GroupName: " + aGroupName
+ " Message Sent:" + aMessage);
};
function addAllGroups() {
for (var i = 0;
i < @(Model.HasValue ? Model.Value : 1 ); i++) {
addToGroupAndBroadcast(i);
}
};
function addToGroupAndBroadcast(aGroupName) {
_testHub.server.addToGroupAndBroadcast(aGroupName)
.fail(function (desc) {
console.info("Error: …Run Code Online (Sandbox Code Playgroud) 我在TemplateField中有一个带有asp CheckBox的GridView.TemplateField定义如下:
<asp:TemplateField HeaderText="HeaderName">
<ItemTemplate>
<asp:CheckBox ID="checkBoxId" runat="server" OnCheckedChanged="MyCheckChangedMethod" AutoPostBack="true"/>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
当我在MyCheckChangedMethod中使用断点运行我的Web项目并单击该复选框时没有任何反应.断点没有被击中.我的Visual Studio调试器正在运行.
另外,我的页面定义中有AutoEventWireup = True,因此我不必手动挂接事件.我以前从来没有遇到过这样做的问题.我在同一页面上有一个按钮设置与click事件完全相同的方式,并且断点得到了很好的打击.
有任何想法吗?