gpt4 book ai didi

asp.net - 将 Web.Config 移植到 ASPNET5

转载 作者:行者123 更新时间:2023-12-02 04:48:08 25 4
gpt4 key购买 nike

我将我的项目升级到 ASPNET5。我在升级我的 web.config 文件时遇到了麻烦。

我尝试使用 Microsoft.Framework.ConfigurationModel.Xml 包来读取 URL Rewrite 配置。配置如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="MainRule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" matchType="Pattern" pattern="api/(.*)" negate="true" />
<add input="{REQUEST_URI}" matchType="Pattern" pattern="signalr/(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="default.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

当然,当它试图将其转换为 aspnet5 使用的对象时,我遇到了重复键问题。

enter image description here

将现有 web.config 移植到新的 aspnet 模型的最佳方法是什么?这是我意识到的一个小案例,但在现实世界中,这些配置非常密集。

我创建了一个 example project当我弄清楚其中的一些案例时,我希望与其他人分享。

最佳答案

您发布的 web.config 文件只有 iis 的 url 重写规则。你真的需要从你的应用程序访问这些吗? IIS 将直接从 web.config 中读取这些内容,但您的应用中不需要这些内容,因此您根本不需要尝试使用 Microsoft.Framework.Configuration 中的新类来解析该文件。

如果您的应用需要一些其他设置,那么您也可以使用 json.config 文件,如许多示例中所示,用于您自己的应用设置。

您仍然可以将该 web.config 文件放到应用程序根目录中,假设您的应用程序托管在 IIS 中,它仍然应该完成它的工作并告诉 IIS 进行一些 url 重写。你不应该像你所做的那样将它重命名为 config.xml,因为 IIS 不会注意到该文件,除非它被命名为 web.config

为什么您需要从应用程序代码访问这些 url 重写规则,因为是 IIS 而不是执行 url 重写的应用程序代码?

我认为新范例是在 azure 中使用 json.config 和/或环境变量进行应用程序配置

您唯一可能仍然使用 web.config 文件的是 IIS 配置,但它与应用程序配置是分开的,这是您今后唯一可以使用 web.config 文件的东西,您不需要访问 Web完全来自应用程序代码的 .config 文件。

关于asp.net - 将 Web.Config 移植到 ASPNET5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31187444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com