gpt4 book ai didi

c# - 无法发布 ASP.NET SignalR 代码

转载 作者:太空宇宙 更新时间:2023-11-03 14:41:26 25 4
gpt4 key购买 nike

我在经典的 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);
});

});

最佳答案

首先,正如我在评论中提到的,我将自定义错误属性从 RemoteOnly 更改为 Off。

我看到了一个更好的错误描述

Server Error in '/access_int' Application. This operation requires IIS integrated pipeline mode

我转到 IIS,将应用程序池设置从基本更改为集成

这给了我另一个错误

500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed

然后我去了 IIS 并将 identity impersonate 的属性更改为 false

之后一切正常

关于c# - 无法发布 ASP.NET SignalR 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56738234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com