Почему командлет Powershell New-WebBinding создает неправильный HostHeader? - PullRequest
10 голосов
/ 24 февраля 2012

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

enter image description here

Поэтому я выполняю следующую строку в PowerShell:

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

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

enter image description here

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

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

Ответы [ 2 ]

6 голосов
/ 24 февраля 2012

Глядя на декомпилированный код командлета, похоже, что он добавляет информацию об IP-адресе и порте в привязку, и обходного пути для него нет.

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

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 голосов
/ 24 февраля 2012

Попробуйте:

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