我开发了一个 Blazor WebAssembly 应用程序,它将在我们的 Intranet 上运行 Windows 2012 的服务器上使用。这是针对 .Net 5.0 Core Hosted and Self-Contained。我需要部署到 IIS 8.5 并且有一些问题。
当我在 IIS 中添加网站时,我是否指向具有可执行文件和 web.config 的根部署目录?我还需要做什么才能让 IIS 在 wwwroot 子目录中找到索引文件吗?将这个应用程序的部署目录直接放在inetpub下是否合适?发布任务创建了一个相当大的 BlaorDebugProxy 目录。这是为了发布,所以我不明白为什么要创建它。有没有办法防止这种情况发生?我想使用 ServerName\AppName 访问应用程序。如果我使用“AppName”作为主机名创建站点,这会起作用还是我需要做其他事情?当我尝试从 IIS 浏览到该站点时,我收到 500.19 '无法访问请求的页面,因为该页面的相关配置数据无效。我没有对文件进行更改,因为它是由发布过程创建的。这是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\AppName.Server.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 60862cf1-bea8-48f4-8ae9-270f2f537927-->
任何想法为什么这不起作用?
请注意,这是使用自包含模型。此外,我已确保该目录已授予此应用程序的应用程序池标识的完全权限。
下面的答案和假设的重复都是指安装框架。但是,我认为自包含模型的全部意义在于它不依赖于已安装的框架。
我进行了广泛的搜索,看到许多涉及这些问题的参考资料,但没有具体说明如何让 IIS(尤其是旧版本)托管自包含模型。Microsoft 页面讨论了优点和缺点以及如何创建文件,但没有详细说明如何托管它们或我上面列出的其他问题。
有没有人成功做到这一点谁可以提供一些指导?
谢谢 !