当我想使用servermanager创建新服务器时遇到麻烦。
这是我的代码
ServerManager sm = new ServerManager();
Site s = sm.Sites.Add("NEWSERVER", path, 80);
BindingCollection bindingCollection = s.Bindings;
bindingCollection.Clear();
Binding binding = s.Bindings.CreateElement("binding");
binding["protocol"] = "https";
binding["certificateHash"] = "thumprint value";
binding["certificateStoreName"] = "MY";
binding["bindingInformation"] = string.Format("{0}:{1}:{2}", "*", "443", "subdomain.url.com");
bindingCollection.Add(binding);
Binding binding2 = s.Bindings.CreateElement("binding");
binding2["protocol"] = "http";
binding2["bindingInformation"] = string.Format("{0}:{1}:{2}", "*", "80", "subdomain.url.com");
bindingCollection.Add(binding2);
s.ServerAutoStart = true;
ApplicationPool a = sm.ApplicationPools.Add("NEWSERVER");
a.ManagedRuntimeVersion = "v4.0";
s.ApplicationDefaults.ApplicationPoolName = "NEWSERVER";
sm.CommitChanges();
当我运行它时,它会创建服务器+绑定,但它会出现以下错误:
“访问被拒绝。(HRESULT异常:0x80070005(E_ACCESSDENIED))”
在运行sm.CommitChnages()时发生。
我无法弄清楚我无法访问哪些内容。有什么想法吗?
答案 0 :(得分:0)
您必须使用本地管理员帐户运行此代码。
对于ASP.NET应用程序,您的选择是
他们都有一些你需要注意的安全方面,
答案 1 :(得分:0)
尝试动态添加绑定时遇到同样的问题。 我刚刚以管理员身份运行了应用程序
它为我工作。