[英]Unable to connect to ASP.NET SignalR hub from JavaScript client
[英]Unable to publish an ASP.NET SignalR code
我在經典的ASP.NET Web窗體中實現了SignalR以啟用進度欄。 在本地測試實施時,一切工作正常
但是,當我嘗試將代碼發布到服務器時,應用程序崩潰,並顯示了一個非常普通的ASP.NET錯誤
發布SignalR時,我需要使用或執行哪些特定操作?
提前非常感謝你
這是我的中心班
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
namespace IAACCESS.SignalR
{
public class ProgressHub : Hub
{
static ProgressHub()
{
}
}
}
這是我的入門班
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(IAACCESS.SignalR.Startup1))]
namespace IAACCESS.SignalR
{
public class Startup1
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
這是我的JavaScript部分
function ProgressBarModal(showHide) {
if (showHide === 'show') {
$('#mod-progress').show();
if (arguments.length >= 2) {
$('#progressBarParagraph').text(arguments[1]);
} else {
$('#progressBarParagraph').text(arguments[1]);
}
window.progressBarActive = true;
} else {
$('#mod-progress').hide();
window.progressBarActive = false;
}
}
$(function () {
// Reference the auto-generated proxy for the hub.
var progress = $.connection.progressHub;
console.log(progress);
// Create a function that the hub can call back to display messages.
progress.client.AddProgress = function (fileName, message, percentage) {
ProgressBarModal("show", fileName + " " + message);
document.getElementById("divProgress").style.display = "block";
document.getElementById("divUpload").style.display = "block";
document.getElementById("divProgress").style.width = percentage + "%";
document.getElementById("<%=lblPercentage.ClientID %>").firstChild.data = parseInt(percentage) + "%";
$('#ProgressMessage').width(percentage);
if (percentage === "100%") {
ProgressBarModal();
}
};
$.connection.hub.start().done(function () {
var connectionId = $.connection.hub.id;
console.log(connectionId);
});
});
首先,正如我在評論中提到的,我將自定義錯誤屬性從RemoteOnly更改為Off。
在那里,我看到了對錯誤的更好描述
“ / access_int”應用程序中的服務器錯誤。 此操作需要IIS集成管道模式
我去了IIS,將應用程序池設置從“基本”更改為“集成”
那給了我另一個錯誤
500內部服務器錯誤。 您正在尋找的資源有問題,無法顯示
然后我去了IIS,並將身份模擬的屬性更改為false
之后一切正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.