1

我开发了一个 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 页面讨论了优点和缺点以及如何创建文件,但没有详细说明如何托管它们或我上面列出的其他问题。

有没有人成功做到这一点谁可以提供一些指导?

谢谢 !

4

1 回答 1

3

首先,请确保Hosting Bundle installer服务器上已经安装了 Asp.net Core IIS。
https://dotnet.microsoft.com/download/dotnet/5.0 此外,您的 Web 应用程序在 IIS 中运行的身份应具有对您网站根文件夹的完全访问权限。尝试授予 IUSR 帐户对该物理路径的完全控制权。 最后,请参阅以下链接以在 IIS 中托管 Web 应用程序。https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1 如果问题仍然存在,请随时告诉我。
在此处输入图像描述

Core-based

于 2020-08-18T03:18:30.733 回答