我使用VS 2010(4.0 frameWork)和SignalR版本1.1.3在我的LocalHost上成功运行SignalR应用程序,如下所示:
http://www.asp.net/signalr/overview/signalr-1x/getting-started/tutorial-getting-started-with-signalr
但是当我在IIS服务器上部署此Web应用程序时:
它将Javascript错误抛出
'client'为null或不是对象
我应该检查什么??
TIA
答案 0 :(得分:0)
您是否有对客户端库和~/signalR/hubs
?
答案 1 :(得分:0)
由于未正确包含动态信号器集线器文件而发生这种情况。在样本中,您可以参考:
<script src="/signalr/hubs"></script>
这在当地完全没问题。但是,如果要将该应用程序部署到IIS,则需要确保您的应用程序在ROOT上运行(如果您是服务器)。
我猜你在部署到IIS时,你是从一个端点托管它,比如localhost / mysignalrapp / YOUR_STUFF。如果是这种情况,/ signalr / hubs包含将不起作用。
如果您的项目尝试将include更改为:
,假设您的html文件位于根目录<script src="signalr/hubs"></script>
这将使您的应用程序能够正确找到信号器端点。如果您的HTML文件恰好位于根目录下的文件夹中,请相应地调整路径。