当我想使用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()时发生的。
我不知道哪些是我不能访问的。有什么想法吗?
发布于 2012-05-30 17:43:15
您必须使用本地管理员帐户运行这段代码。
对于ASP.NET应用程序,您可以选择
使用WindowsIdentity.
它们在安全方面都有一些需要注意的地方,
http://msdn.microsoft.com/en-us/library/ff647404.aspx
发布于 2016-08-25 11:53:31
我在尝试动态添加绑定时也遇到了同样的问题。我只是以管理员身份运行应用程序
这对我很有效。
https://stackoverflow.com/questions/10813156
复制相似问题