【问题标题】:C# create site in IIS programatically in asp.net projectC# 在 IIS 中以编程方式在 asp.net 项目中创建站点
【发布时间】:2014-09-01 17:40:42
【问题描述】:

我正在尝试使用 C# 中的 Microsoft.Web.Administration dll 在 IIS 中创建一个站点。我正在使用以下代码

using (var serverManager = new ServerManager())
        {
            ApplicationPool pool = serverManager.ApplicationPools.Add(ClientDomain);
            pool.ManagedRuntimeVersion = "v4.0";
            Site site = serverManager.Sites.Add(SiteName, httpProtocol, httpBindingInformation, physicalPath);
            site.Bindings.Add(httpsBindingInformation, httpsProtocol);
            serverManager.CommitChanges();
        }

当我从 asp.net 项目运行代码时,我收到以下异常“方法或操作未实现”,但如果从控制台项目运行相同的代码,它工作正常。这是异常的详细信息

   at Microsoft.Web.Administration.Interop.IAppHostProperty.get_Value()
   at Microsoft.Web.Administration.ConfigurationElement.GetPropertyValue(IAppHostProperty property)
   at Microsoft.Web.Administration.ConfigurationElement.GetAttributeValue(String attributeName)
   at Microsoft.Web.Administration.Binding.get_CertificateHash()
   at Microsoft.Web.Administration.BindingCollection.Add(Binding binding)
   at Microsoft.Web.Administration.BindingCollection.Add(String bindingInformation, String bindingProtocol)
   at TestProject.BLL.CRMSiteManagement.CRMSiteIISSetup.Process() in e:\CRMSiteManagement\CRMSiteIISSetup.cs:line 35
   at TestProject.BLL.CRMSiteManagement.CRMSiteService.CreateNewCRMSite(CRMSite newSite) in e:CRMSiteManagement\CRMSiteService.cs:line

似乎是权利问题,但我不知道如何解决。 更新 1: 本地主机上的以下代码行出现错误

site.Bindings.Add(httpsBindingInformation, httpsProtocol); 

【问题讨论】:

标签: c# asp.net iis iis-7


【解决方案1】:

我认为您尝试设置相同的绑定两次:

  1. 调用 Add 方法一次

Site site = serverManager.Sites.Add(SiteName, httpProtocol, httpBindingInformation, physicalPath);

  1. 然后再次添加相同的绑定:

site.Bindings.Add(httpsBindingInformation, httpsProtocol);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多