经过更多的研究,我找到了自己的路。
如下所示,我发现了如何将新的环境变量添加到我的网站(这里是test.fr)中
ApplicationHost.config
文件这
link
帮助我了解
Microsoft.Web.Administration
这方面的工作。
下面是我使用的代码:
using Microsoft.Web.Administration;
using System;
using System.Collections.Generic;
internal static class Sample
{
internal static void AddEnvironmentVariablesToWebSite(this ServerManager serverManager, KeyValuePair<string, string> environmentVariable, string siteName)
{
if (serverManager == null) throw new ArgumentNullException(nameof(serverManager));
var config = serverManager.GetApplicationHostConfiguration();
var aspNetCoreSection = config.GetSection("system.webServer/aspNetCore", siteName);
var environmentVariablesCollection = aspNetCoreSection.GetCollection("environmentVariables");
var addElement1 = environmentVariablesCollection.CreateElement(); // CreateElement() is equivalent to CreateElement("add")
addElement1["name"] = environmentVariable.Key;
addElement1["value"] = environmentVariable.Value;
environmentVariablesCollection.Add(addElement1);
serverManager.CommitChanges();
}
}
我在
commitChanges()
将我的站点和池创建到iis中,并将其添加到
ApplicationHost。配置
文件
感谢@Lexli
blog
,在
commitChanges()
因为它在更改生效之前返回。这是我的第二期。
using(var serverManager = new ServerManager())
{
//[Create site and pool]
serverManager.CommitChanges();
Thread.Sleep(100);
serverManager.AddEnvironmentVariablesToWebSite(serverManager, environmentVariable, siteName);
serverManager.CommitChanges();
}
希望有帮助。