Asp.net core 2.1 Web App 无法在 IIS 上正确呈现
Posted
技术标签:
【中文标题】Asp.net core 2.1 Web App 无法在 IIS 上正确呈现【英文标题】:Asp.net core 2.1 Web App not rendering correctly on IIS 【发布时间】:2019-06-26 22:11:17 【问题描述】:是时候进行大型发布了!好吧,直到 IIS 开始发挥不错。我和一位同事花了 6 个多小时尝试将 ASP.NET Core 2.1 Web 应用程序发布到内部 IIS 服务器。经过多轮错误代码和调整,我们能够让应用程序在某种程度上托管在 IIS 上,但有一个大问题,渲染有点偏离。语言无法解释它的外观。
What it looks like 这就是正在渲染的内容。我注意到的一件事是,当您在页面上执行 ctrl-u 时,页面代码就在那里。
它应该是这样的:https://i.stack.imgur.com/dv6xN.png
如果有人知道发生了什么,请提供任何帮助!
【问题讨论】:
使用浏览器开发工具或 Fiddler,调试请求/响应。 【参考方案1】:这是一个简单的修复,只是我的一个错误!希望这有助于所有未来的 Asp.net 核心开发人员准备发布。通过进一步调查,很明显 Web 应用程序正在执行,只是渲染不正确。很明显,引导程序没有被击中,这导致了所有的渲染错误。
在 Asp.net 核心样板代码中,_Layout.cshtml 页面包含环境标记中的所有链接和脚本,如下所示:
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css" asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css" asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
只需删除这些环境标签,就可以点击正确的链接和脚本,现在一切都可以正常呈现了。
【讨论】:
【参考方案2】:在不查看源代码的情况下确定此处的问题有点困难,但可能您只是在显示导航栏,并且它正在扩展以适应整个屏幕,从而也扭曲了图标的顺序。确保它是在 IIS 上运行的整个应用程序。
【讨论】:
以上是关于Asp.net core 2.1 Web App 无法在 IIS 上正确呈现的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET Core 2.1 Web API 中实现分页
在 ASP .NET Core 2.1 Web Api 中启用 CORS
在 ASP.NET Core 2.1 Web 客户端中存储不记名令牌的位置
ASP.NET Core 2.1 MVC - 无法设置从 Web api 响应接收到的 cookie
如何在 asp.net core 2.1 中使用 net.tcp 服务
如何使用 fetch 将 FormData 从 javascript 发送到 ASP.NET Core 2.1 Web API