Как программно проверить компоненты активации Http / Non-Http WCF? - PullRequest
6 голосов
/ 03 декабря 2010

Мне нужно определить, установлены ли компоненты активации WCF Http / Non-Http во время установки моего продукта.Как я могу это сделать?

Спасибо.

Ответы [ 5 ]

4 голосов
/ 08 декабря 2010

Для IIS7, проверьте следующий раздел реестра:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ InetStp \ Components \

Для следующих компонентов:

  • Модель процесса- ProcessModel
  • .NET Environment - NetFxEnvironment
  • API-интерфейсы конфигурации - WASConfigurationAPI

На этой странице: http://learn.iis.net/page.aspx/135/discover-installed-components/

ОБНОВЛЕНИЕ: Поскольку приведенное выше верно даже в том случае, если компоненты не установлены, попробуйте выполнить эту команду из командной строки:

sc query nettcpactivator

Если служба остановлена ​​или не существует,компоненты активации не-HTTP WCF, вероятно, не установлены.Чтобы установить их, выполните следующую команду:

pkgmgr / iu: WCF-NonHTTP-Activation

Источник: http://blogs.msdn.com/b/drnick/archive/2010/05/11/debugging-a-missing-hostedtransportconfiguration-type.aspx

2 голосов
/ 21 ноября 2013

Вы также можете использовать PowerShell для включения компонентов активации WCF Http / Non-Http:

Import-Module ServerManager
Add-WindowsFeature NET-HTTP-Activation,NET-Non-HTTP-Activ

Таким образом, вам не придется путаться с реестром Windows.Для получения дополнительной информации о добавлении функции Windows с помощью PowerShell: http://technet.microsoft.com/en-us/library/cc732263.aspx#BKMK_powershell

2 голосов
/ 04 января 2013

Для IIS8 с Windows Server 2012 (и, вероятно, Windows 8), вы можете проверить этот раздел реестра (для .NET 4.5)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\NET-WCF-HTTP-Activation45\InstallState

ноль означает, что не установлено, а 1 означает, что установлено.

1 голос
/ 30 января 2014

Вероятно, вам следует использовать командную строку Get-WindowsFeature powershell. Вы можете проверить наличие на сервере 2012 служб .NET Framework 4.5 WCF для активации по HTTP, позвонив по номеру:

$wcfActivationFeature = Get-WindowsFeature -name NET-WCF-HTTP-Activation45
$wcfActivationFeature.Installed
0 голосов
/ 08 июня 2012

Раздел реестра для активации HTTP: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.0 \ Setup \ Windows Communication Foundation \ HTTPActivation, а для активации без HTTP проверяется, существует ли служба NetTcpActivation или NetPipeActivator намашина и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...