2014-09-01 70 views
3

我想在C#中使用Microsoft.Web.Administration DLL在IIS中創建一個站點。我使用下面的代碼C#在asp.net項目中以編程方式創建網站

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: 錯誤是在下面的代碼行未來在localhost

site.Bindings.Add(httpsBindingInformation, httpsProtocol); 
+0

入住此的其他問題,這是不完全一樣,但有一個如何建立一個網站示例代碼... http://stackoverflow.com/questions/9128732/IIS-7-X-添加-AN-HTTPS啓用現場-sitecollection-addstring串串 – 2014-09-01 17:43:10

回答

1

我想你想設置相同的綁定兩次:

  1. 一旦通過調用Add方法

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

  • 然後添加再次同綁定:
  • site.Bindings.Add(httpsBindingInformation, httpsProtocol);

    相關問題