Microsoft.Web.Administration:值不在预期范围内

时间:2017-09-14 00:07:41

标签: c# iis

使用Microsoft.Web.Administration使用以下代码向IIS添加绑定时:

var newBinding = Site.Bindings.CreateElement();
newBinding.BindingInformation = bindingInformation;
var existingSsl = // some code that finds an existing SSL binding to copy off
var sslFlags = SslFlags.Sni;
if (existingSsl != null)
{
    newBinding.Protocol = existingSsl.Protocol;
    newBinding.CertificateHash = existingSsl.CertificateHash;
    newBinding.CertificateStoreName = existingSsl.CertificateStoreName;
}

Site.Bindings.Add(newBinding.BindingInformation, newBinding.CertificateHash, newBinding.CertificateStoreName, sslFlags);

我得到了一个例外

System.ArgumentException: Value does not fall within the expected range.
   at Microsoft.Web.Administration.Interop.IAppHostMethodInstance.Execute()
   at Microsoft.Web.Administration.ConfigurationMethodInstance.Execute()
   at Microsoft.Web.Administration.Binding.AddSslCertificate(Byte[] certificateHash, String certificateStoreName)
   at Microsoft.Web.Administration.BindingManager.BindingTransaction.Commit()
   at Microsoft.Web.Administration.BindingManager.Save()
   at Microsoft.Web.Administration.ServerManager.CommitChanges()

1 个答案:

答案 0 :(得分:0)

失败的bindingInformation值格式为*:443: - 表示没有主机标头信息。

在这种情况下,SNI标志是非法标志。 SNI只能在指定主机头时使用。

发现这个(后见之明)错误的诀窍是尝试镜像在UI中应用的设置。用户界面具有验证功能,有助于显示您正在尝试的非法操作。

相关问题