Comment puis-je établir IIS gérer net.tcp connexions?
Vous devez ajouter net.tcp
aux protocoles activés de votre site. Allez dans IIS Manager, faites un clic droit sur votre site Web, allez dans "Gérer le site Web" ou "Gérer l'application", puis dans "Paramètres avancés ...". Là, vous voyez "Protocoles activés ". Il indique probablement http
. Remplacez-le par http,net.tcp
.
Si vous souhaitez configurer des liaisons, cliquez avec le bouton droit sur votre site Web et accédez à "Modifier les liaisons ...". La liaison net.tcp par défaut est 808:*
.
Si vous souhaitez utiliser les services WCF hébergés par IIS derrière net.tcp, vous pouvez également vérifier si vous avez activé les fonctionnalités Windows requises. Accédez à vos fonctionnalités Windows et vérifiez que vous avez activé " Activation non HTTP de Windows Communication Foundation "(trouvée sous" Microsoft .NET Framework 3.5.1 ").
Lorsque vous activez cette fonctionnalité, vous obtiendrez des services Windows supplémentaires. Si cela ne fonctionne toujours pas, vérifiez que le service Windows nommé 'Net.Tcp Listener Adapter' est en cours d'exécution (devrait démarrer automatiquement mais parfois il ne fonctionne pas et c'est le premier endroit où je vérifie quand un de mon net.tcp
les services ne fonctionnent plus).
Cela pourrait aider quelqu'un à l'avenir. J'ai créé un script powershell
qui vous sera utile si vous devez automatiser la création des liaisons .
Il vérifiera automatiquement si la liaison existe déjà et ne l'ajoutera que si nécessaire.
Script réel
Import-Module WebAdministration
$websites = Get-ChildItem 'IIS:\Sites'
$site = $websites | Where-object { $_.Name -eq 'Default Web Site' }
$netTcpExists = [bool]($site.bindings.Collection | ? { $_.bindingInformation -eq '808:*' -and $_.protocol -eq 'net.tcp' })
if (!$netTcpExists)
{
Write-Output "Net TCP binding does not exist. Creating binding now..."
# Create the binding
New-ItemProperty 'IIS:\Sites\Default Web Site' -name bindings -Value @{protocol="net.tcp";bindingInformation="808:*"}
Write-Output "Binding created"
}
else
{
Write-Output "TCP Binding already exists"
}
Write-Output "Updating enabled protocols..."
Set-ItemProperty 'IIS:\sites\Default Web Site' -name EnabledProtocols -Value "http,net.tcp"
Write-Output "Enabled protocols updated"
La dernière étape a fonctionné pour moi.