Почему Powershell New-WebBinding создает неверный HostHeader?

Я пытаюсь добавить привязку MSMQ для своего веб-сайта IIS, правильное связывание должно выглядеть следующим образом:

enter image description here

Итак, я выполняю следующую строку в PowerShell:

New-WebBinding -Name "My Site"  -Protocol net.msmq -HostHeader "localhost"

и создает следующую привязку:

enter image description here

с префиксом *:80:, поэтому мои сообщения MSMQ не получают службу WCF. Может быть, я делаю это неправильно? Как создать привязку с информацией привязки, установленной только "localhost", используя эту команду PowerShell?

Командный код можно найти здесь.

Ответ 1

Глядя на декомпилированный код командлета, он выглядит как добавление информации IPAddress и Port в привязку, и для этого нет обходного пути.

Соответствующие разделы кода:

private string ipAddress = "*";
...
builder.Append(this.ipAddress);
...
builder.Append(":" + this.sitePort.ToString(CultureInfo.InvariantCulture) + ":");

Но вы можете сделать то, что действительно делает командлет (ниже кода из командлета):

new-itemproperty -path "IIS:\sites\test" -name bindings -value @{protocol="net.msmq"; bindingInformation="localhost"}

Ответ 2

Попробуйте:

New-ItemProperty "IIS:\sites\NameOfYourSite" -name bindings -value @{protocol="net.msmq";bindingInformation="localhost"}