我在经典的ASP.NET Web窗体中实现了SignalR以启用进度条。在本地测试实施情况时,一切都完美运行
但是,当我尝试将代码发布到服务器时,应用程序崩溃,并显示了一个非常普通的ASP.NET错误
发布SignalR时,我需要使用或执行任何特定的操作吗?
非常感谢您
这是我的Hub类
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);
});
});
答案 0 :(得分:0)
首先,正如我在评论中提到的,我将自定义错误属性从RemoteOnly更改为Off。
我在那里看到了关于错误的更好描述
“ / access_int”应用程序中的服务器错误。此操作需要IIS 集成管道模式
我去了IIS,将应用程序池设置从“基本”更改为“集成”
那给了我另一个错误
500-内部服务器错误。您的资源有问题 正在寻找,并且无法显示
然后我去了IIS,并将身份模拟的属性更改为false
此后一切正常