Bas*_*Bas 21 .net-4.5 signalr visual-studio-2012
我在MVC4应用程序中使用Visual Studio 2012 Ultimate RC,SignalR 0.5.1和Jquery 1.7.2.
我看过:MVC4 SignalR"signalr/hubs"501未实现错误
但它不会影响我的问题(我使用IIS Express进行调试).
当我尝试使用SignalR时,$ .connection变量是未定义的.我的服务器端代码:
[HubName("tenantHub")]
public class TenantHub : Hub
{
...
void TenantChange(CrudAction action, Tenant tenant)
{
Clients.eventOccurred(action.ToString(), tenant);
}
}
Run Code Online (Sandbox Code Playgroud)
客户端:
$(function() { var test = $.connection.tenantHub; });
Run Code Online (Sandbox Code Playgroud)
SignalR/hubs
正在引用客户端,我可以看到JS代码,它不会抛出任何错误.但是引用$ .connection会抛出一个Uncaught TypeError: Cannot read property 'tenantHub' of undefined
.还试图做默认的聊天示例,它给出了同样的错误.在VS2012中使用时是不支持SignalR还是我只是愚蠢?
小智 26
尝试BundleConfig.RegisterBundles(BundleTable.Bundles);
从Global.asax.cs中删除,看看是否有帮助?
这通常是由于加载jQuery两次造成的.通常我们习惯于在页脚中加载jQuery.由于signalr抱怨并强迫您在signalr-x.js之前包含jQuery库.
你可以在signalr-x.js之前包含jQuery,你可以在你包含jQuery插件的页脚中做这样的事情,以避免加载它两次:
<script type="text/javascript">
!window.jQuery && document.write('<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"><\/script>');
!window.jQuery && document.write('<script src="/public/js/vendor/jquery-1.9.1.min.js"><\/script>');
</script>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.:)
归档时间: |
|
查看次数: |
19600 次 |
最近记录: |