【问题标题】:Unable to host Blazor application无法托管 Blazor 应用程序
【发布时间】:2021-10-17 15:36:18
【问题描述】:

在我的本地 Windows 10 计算机上将应用程序作为 IIS 应用程序托管时,我无法使 Blazor 应用程序正常工作。该应用程序非常简单,只有一个页面和最少的组件 - 甚至比提供的默认 Blazor 应用程序更简单。

这些是我的步骤:

  • 点击发布应用
  • 选择文件夹,注意它是...\bin\Release\net5.0\browser-wasm\publish\
  • 打开 IIS,导航到默认网站
  • 右键单击默认网站并选择添加应用程序
  • 以上路径选择物理路径,主机在www.NAME.com
  • 点击浏览.. 在 *:80 上的www.NAME.com 查看应用程序
  • 显示的页面是IIS的欢迎页面

尝试的解决方案 1:安装 URL 重写

尝试的解决方案 2:转到主机(在 System32 中)并尝试添加 127.0.0.1 或 127.0.0.1::80,然后添加 www.NAME.com

尝试的解决方案 3:在 index.html 中,编辑基本元素以包含链接 <base href="/NAME/" />

尝试的解决方案 4:不要在 IIS 的默认网站下添加应用程序,而是将其添加为网站

尝试的解决方案 5:授予 IIS_IUSRS 对 web.config 的完全权限 (Image)

尝试的解决方案均无效。我昨天刚开始使用 Blazor,对此我很陌生。难道我做错了什么?谢谢!

【问题讨论】:

  • 为什么要强制它欺骗网站名称?通常在开发系统上调试时,您只需使用 localhost。
  • 你好,你是要部署到www.name.com,因为你需要这个特定的测试配置,或者你只需​​要部署到没有特定DNS 名称 ?
  • 嗨,我想部署到一个命名网站,以便我的同学可以轻松使用我的 Blazor 应用程序(它是一个实用程序,可以自动执行我们学生通常必须手动完成的特定任务)。本来我为它写了一个.NET 5.0 Console Application并分享了文件,但这需要用户也下载.NET 5.0,设置起来很麻烦。
  • 基于我对Blazor的浅薄了解,我认为其他人可以通过这样的URL访问我在我机器上托管的网站。但如果我错了,请纠正我,因为我实际上并没有在学校学习编程。

标签: iis blazor host


【解决方案1】:

请参考本教程,我认为这是实现您目标的最佳教程之一: https://blog.medhat.ca/2020/08/deploy-client-side-blazor-web-api-to.html?m=1

请记住,hosts 文件中主机名的配置仅与您的机器相关

所以,为了让学生访问您的 IIS 发布的站点,您需要:

  1. 在 DNS 服务器中注册一个主机名,学生的所有计算机都将使用该主机名解析您的机器名。 IE。如果您的机器应该可以通过www.name.com 访问,您需要您的 DNS 服务器使用您的本地 IP 地址解析此名称
  2. 要使用 https 协议,您需要在您的 IIS 配置中加载本地计算机上的证书,但您的学生的每台计算机都必须使用相同的证书。

我认为更好和更简单的解决方案是使用您的本地计算机名称,可能使用您的完整 DNS 名称,并允许学生在浏览器上使用此名称访问该站点。

在这种情况下,您可以使用本地开发证书来允许 https 连接 此证书已安装在您的计算机上,用于开发目的。

我描述的每个概念都在网络上和 SO 上都有详细记录。

【讨论】:

    猜你喜欢
    • 2021-10-26
    • 2019-04-03
    • 1970-01-01
    • 2020-06-05
    • 2020-06-21
    • 1970-01-01
    • 2020-08-16
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多