当前位置: 首页 > 编程语言 > C#

IIS7.x,添加启用HTTPS的站点:SiteCollection.Add(string,string,string,byte)重载分享

时间:2023-04-10 19:27:55 C#

IIS7.x,添加启用HTTPS的站点:SiteCollection.Add(string,string,string,byte)重载我需要以编程方式添加IIS7.x站点,当我应该使用HTTPS/SSL绑定创建默认值时,使用SiteCollection.Add(string,string,string,byte[])重新加载时,我卡住了。将https:*:80:test.localhosthttps:*:443:test.localhost作为bindingInformation会抛出ArgumentException并显示以下消息:指定的HTTPS绑定无效。这个绑定信息有什么问题?谢谢。编辑:我正在使用Microsoft.Web.Administration程序集。下面是我创建https网站所做的。当然,我在这里跳过了部分代码。usingMicrosoft.Web.Administration...using(varmanager=newServerManager()){//预先设置变量...varsite=manager.Sites.Add(siteName,siteFolder,siteConfig.Port);varstore=newX509Store(StoreName.AuthRoot,StoreLocation.LocalMachine);store.Open(OpenFlags.OpenExistingOnly|OpenFlags.ReadWrite);//certHash是我的证书的哈希,byte[]varbinding=site.Bindings.Add("*:443:",certHash,store.Name);binding.Protocol="https";商店。关闭();site.ApplicationDefaults.EnabledProtocols="http,https";经理.CommitChanges();}UPD:证书是通过以下方式从pfx文件创建的://getcertificatefromthefilestringpfx=Directory.GetFiles(folder,"*.pfx",SearchOption.AllDirectories).FirstOrDefault();varstore=newX509Store(StoreName.Root,StoreLocation.LocalMachine);store.Open(OpenFlags.OpenExistingOnly|OpenFlags.ReadWrite);varcertificate=newX509Certificate2(pfx,certPassword,X509KeyStorageFlags.Exportable|X509KeyStorageFlags.PersistKeySet);商店。添加(证书);商店。关闭();certHash=certificate.GetCertHash();据我所知,BindingInformation没有协议:此属性的值是一个以冒号分隔的字符串,其中包含绑定给定的IP地址、端口和主机名来源:http://msdn.microsoft.com/en-us/library/microsoft.web.administration.binding.bindinginformation%28v=vs.90%29.aspx还有一个OverloadforparametersBindingProtocol:publicSiteAdd(stringname,stringbindingProtocol,stringbindingInformation,stringphysicalPath)来源:http://msdn.microsoft.com/en-us/library/bb359364%28v=vs.90%29。aspx也许你应该使用Site实例提供的Binding对象,因为它提供了比SiteCollection实例更多的设置。以上就是C#学习教程:IIS7.x,添加启用HTTPS的站点:SiteCollection.Add(string,string,string,byte)重载分享的全部内容,如果对大家有用还需要了解更多关于C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: