MVC 在服务器上无法运行 /signalr/hubs
MVC not functioning on server /signalr/hubs
我有一个使用 SignalR 的项目(使用 https://gkulshrestha.wordpress.com/2014/05/02/signalr-with-sql-server-query-notification/ 中的教程)
当我从 visual studio 运行 时,我的项目运行完美。但是,当我 运行 它在服务器上时(在发布它并使用 IIS 之后),它不起作用。
具体是发现JS的某部分不是运行ning。
我有
@section Scripts{
<script src="/Scripts/jquery.signalR-2.1.1.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="/signalr/hubs"></script>
<script type="text/javascript">
$(function () {
// Reference the auto-generated proxy for the hub.
alert(1);
var clientHub = $.connection.messageSender;
alert(5);
// Create a function that the hub can call back to display messages.
clientHub.client.broadcastMessage = function (message) {
// Add the message to page.
$('#messagecontainer').append('<li>' + message + '</li>');
};
alert(2);
$.connection.hub.start().done(function () {
alert("connection started")
}).fail(function (e) {
alert(e);
});
alert(3);
});
</script>
}
当 运行通过 visual studio 解决这个问题时,我点击了这里的所有警报。当 运行 在服务器上打开它时(通过按浏览),我只点击了 alert(1) 和其他人的 none。
如有任何帮助,我们将不胜感激!谢谢!
[编辑]
我环顾四周,我怀疑它与我的 signalr/hubs 引用有关。我在 SignalR /signalr/hubs 404 Not Found 上尝试了所有方法,但没有成功。
在包含静态资源时尝试使用助手:
<script src="@Url.Content("~/Scripts/jquery.signalR-2.1.1.js")"></script>
和:
<script src="@Url.Content("~/signalr/hubs")"></script>
这将考虑您的应用程序可能在 IIS 中的虚拟目录 运行。此外,如果您使用的是最新的 Razor,您可以只使用前缀 ~
来指示相对路径:
<script src="~/Scripts/jquery.signalR-2.1.1.js"></script>
和:
<script src="~/signalr/hubs"></script>
我有一个使用 SignalR 的项目(使用 https://gkulshrestha.wordpress.com/2014/05/02/signalr-with-sql-server-query-notification/ 中的教程) 当我从 visual studio 运行 时,我的项目运行完美。但是,当我 运行 它在服务器上时(在发布它并使用 IIS 之后),它不起作用。
具体是发现JS的某部分不是运行ning。 我有
@section Scripts{
<script src="/Scripts/jquery.signalR-2.1.1.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="/signalr/hubs"></script>
<script type="text/javascript">
$(function () {
// Reference the auto-generated proxy for the hub.
alert(1);
var clientHub = $.connection.messageSender;
alert(5);
// Create a function that the hub can call back to display messages.
clientHub.client.broadcastMessage = function (message) {
// Add the message to page.
$('#messagecontainer').append('<li>' + message + '</li>');
};
alert(2);
$.connection.hub.start().done(function () {
alert("connection started")
}).fail(function (e) {
alert(e);
});
alert(3);
});
</script>
}
当 运行通过 visual studio 解决这个问题时,我点击了这里的所有警报。当 运行 在服务器上打开它时(通过按浏览),我只点击了 alert(1) 和其他人的 none。
如有任何帮助,我们将不胜感激!谢谢!
[编辑] 我环顾四周,我怀疑它与我的 signalr/hubs 引用有关。我在 SignalR /signalr/hubs 404 Not Found 上尝试了所有方法,但没有成功。
在包含静态资源时尝试使用助手:
<script src="@Url.Content("~/Scripts/jquery.signalR-2.1.1.js")"></script>
和:
<script src="@Url.Content("~/signalr/hubs")"></script>
这将考虑您的应用程序可能在 IIS 中的虚拟目录 运行。此外,如果您使用的是最新的 Razor,您可以只使用前缀 ~
来指示相对路径:
<script src="~/Scripts/jquery.signalR-2.1.1.js"></script>
和:
<script src="~/signalr/hubs"></script>