首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用servermanager创建IIS,提交更改错误

使用servermanager创建IIS,提交更改错误
EN

Stack Overflow用户
提问于 2012-05-30 17:05:31
回答 2查看 2.4K关注 0票数 1

当我想使用servermanager创建一个新服务器时遇到麻烦。

这是我的代码

代码语言:javascript
复制
    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()时发生的。

我不知道哪些是我不能访问的。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-30 17:43:15

您必须使用本地管理员帐户运行这段代码。

对于ASP.NET应用程序,您可以选择

使用WindowsIdentity.

  • Or以本地管理员身份模拟
  1. 在本地管理员帐户下运行应用程序池。

它们在安全方面都有一些需要注意的地方,

http://msdn.microsoft.com/en-us/library/ff647404.aspx

票数 0
EN

Stack Overflow用户

发布于 2016-08-25 11:53:31

我在尝试动态添加绑定时也遇到了同样的问题。我只是以管理员身份运行应用程序

这对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10813156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档