【发布时间】:2020-06-17 22:46:44
【问题描述】:
我试图让 blazor 在 IIS 中托管的现有 MVC 应用程序中工作。我按照例子here
剃刀页面也有一个类似的例子。两者都可以在 IIS express 和自托管中很好地工作,但是当我尝试在 IIS 中使用它们时它们会失败。
当托管在 IIS 中时,框架会注册到站点而不是应用程序。在 chrome 中打开时,控制台会出现以下错误:
blazor.server.js:1 加载资源失败:服务器响应状态为 503(服务不可用) favicon.ico:1 加载资源失败:服务器响应状态为 503(服务不可用)
我尝试将框架脚本引用从<script src="_framework/blazor.server.js"></script> 更改为<script src="~/_framework/blazor.server.js"></script>。这解决了最初的错误,但 blazor 在下一步失败了:
[2020-03-05T09:46:07.566Z] Information: Normalizing '_blazor' to 'http://localhost/_blazor'.
_blazor/negotiate?negotiateVersion=1:1 Failed to load resource: the server responded with a status of 503 (Service Unavailable)
blazor.server.js:1 [2020-03-05T09:46:07.611Z] Error: Failed to complete negotiation with the server: Error: Service Unavailable
e.log @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
s @ blazor.server.js:1
Promise.then (async)
c @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
B @ blazor.server.js:1
e.getNegotiationResponse @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
B @ blazor.server.js:1
e.startInternal @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
B @ blazor.server.js:1
e.start @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
v @ blazor.server.js:1
e.startInternal @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
v @ blazor.server.js:1
e.startWithStateTransitions @ blazor.server.js:1
e.start @ blazor.server.js:1
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
S @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
E @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
n @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
Show 22 more frames
blazor.server.js:1 [2020-03-05T09:46:07.612Z] Error: Failed to start the connection: Error: Service Unavailable
e.log @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
s @ blazor.server.js:1
Promise.then (async)
c @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
B @ blazor.server.js:1
e.startInternal @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
B @ blazor.server.js:1
e.start @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
v @ blazor.server.js:1
e.startInternal @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
v @ blazor.server.js:1
e.startWithStateTransitions @ blazor.server.js:1
e.start @ blazor.server.js:1
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
S @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
E @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
n @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
Show 14 more frames
blazor.server.js:15 [2020-03-05T09:46:07.612Z] Error: Error: Service Unavailable
e.log @ blazor.server.js:15
C @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
s @ blazor.server.js:8
Promise.then (async)
c @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
S @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
E @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
n @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
blazor.server.js:1 Uncaught (in promise) Error: Cannot send data if the connection is not in the 'Connected' State.
at e.send (blazor.server.js:1)
at e.sendMessage (blazor.server.js:1)
at e.sendWithProtocol (blazor.server.js:1)
at blazor.server.js:1
at new Promise ()
at e.invoke (blazor.server.js:1)
at e. (blazor.server.js:15)
at blazor.server.js:15
at Object.next (blazor.server.js:15)
at blazor.server.js:15
e.send @ blazor.server.js:1
e.sendMessage @ blazor.server.js:1
e.sendWithProtocol @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
e.invoke @ blazor.server.js:1
(anonymous) @ blazor.server.js:15
(anonymous) @ blazor.server.js:15
(anonymous) @ blazor.server.js:15
(anonymous) @ blazor.server.js:15
r @ blazor.server.js:15
e.startCircuit @ blazor.server.js:15
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
a @ blazor.server.js:8
Promise.then (async)
c @ blazor.server.js:8
a @ blazor.server.js:8
Promise.then (async)
c @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
r @ blazor.server.js:8
E @ blazor.server.js:8
(anonymous) @ blazor.server.js:8
n @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
(anonymous) @ blazor.server.js:1
favicon.ico:1 Failed to load resource: the server responded with a status of 503 (Service Unavailable)
信号器中心似乎指向 IIS 中的根站点路径,而不是应用程序路径。
有人知道我该如何解决这个问题吗?要重现问题,只需下载源代码 here 并设置指向 IIS 的调试配置
谢谢
保罗
【问题讨论】:
-
检查你的
<base href标签 -
谢谢这是解决方案!
标签: iis model-view-controller blazor