使用Options pattern我创建了一个具有ICollection<string> allowedHosts
属性的类。在appsettings.json
里面我添加了[ "google.nl", "bing.com" ]
,当应用程序在开发模式下运行时一切都很好。
但是,在生产中,我们使用IIS并使用IIS的配置编辑器来定义environmentVariables
,并将其保存为web.config
,并且有点像这样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<aspNetCore>
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
<environmentVariable name="AllowedHosts" value="How to format?" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>
我的问题是:如何从appsettings.json
转换此JSON:
{
"allowedHosts": [ "google.com", "bing.com" ]
}
要用于qazxsw poi文件的XML?我尝试使用qazxsw poi,qazxsw poi,但没有一个正在工作。
编辑:我使用了一个糟糕的属性名称,在这种情况下,web.config
有不同的用途,我应该更改属性名称。
["google.com"]
是一种特殊配置,它接受以分号分隔的主机名列表,而不包含端口号。有关更多详细信息,请参阅"google.com"
。
如果您需要允许多个主机,可以按如下方式配置它:
AllowedHosts
如果您想从AllowedHosts
配置获取数组,您可以将密钥名称更改为:
Host filtering
EG :
<aspNetCore processPath="dotnet" arguments=".\abc.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="AllowedHosts" value="google.com;bing.com" />
</environmentVariables>
</aspNetCore>
要在ASP.NET Core中获取该数组:
Web.Config
你不能在你的Startup课程中设置它吗? <key-name>:<index>