更新: Visual Studio 開発サーバーの代わりに IIS Express に切り替えると、501 エラーが修正されました。
MVC4 アプリケーションで SignalR を動作させようとしていますが、奇妙な 501 エラーが発生します。いくつかの異なるチュートリアルに従いましたが、結果は常に同じです。
どんな助けでも大歓迎です。
Visual Studio 2012 Pro RC を使用しており、パッケージ マネージャー コンソールから SignalR 0.5.1 をインストールしました。
私のコード:
レイアウト
<script src="~/Scripts/jquery-1.7.2.min.js"></script>
<script src="~/Scripts/jquery.signalR-0.5.1.js" type="text/javascript"></script>
<script type="text/javascript" src="@Url.Content("~/signalr/hubs")"></script>
意見
<script type="text/javascript">
$(function () {
// capture the client IP
var clientIp = $("#clientip").val();
// create the SignalR proxy
var userlink = $.connection.userlink;
// create our callback for the proxy
userlink.updateViewCount = function (message) {
$('#view-updates').html('<p>' + message + '</p>');
};
// Start the connection
$.connection.hub.start(function () {
// send our 'record' message to the hub
userlink.recordView(clientIp);
});
});
</script>
<input type="hidden" id="client-ip" value="@ViewBag.ClientIpAddress" />
<div id="view-updates"></div>
ハブクラス
public class UserLink : Hub
{
public void RecordView(string IpAddress)
{
QContext db = new QContext();
db.SiteVisits.Add(new SiteVisit { CreateDate = DateTime.Now, IpAddress = IpAddress });
db.SaveChanges();
int userCount = db.SiteVisits.Count();
string result = string.Format("There have been {0} visits to this page.", userCount);
Clients.updateViewCount(result);
}
}
私が受け取っているエラー
Failed to load resource: the server responded with a status of 501 (Not Implemented) http://localhost:58361/signalr/hubs
Uncaught TypeError: Cannot set property 'updateViewCount' of undefined