【发布时间】:2015-01-28 16:23:44
【问题描述】:
我正在尝试根据这篇文章http://blogs.msdn.com/b/tomholl/archive/2011/06/28/hosting-services-with-was-and-iis-on-windows-azure.aspx 在 Azure 的 IIS 中托管一个带有 net.tcp 绑定的 WCF 服务。但它没有任何作用。
我尝试执行以下操作: 创建云服务 创建 WCF 网络角色 在 web-role 项目中创建文件夹 Startup 并在其中放置两个文件: 启动.cmd
powershell -command "set-executionpolicy Unrestricted" >> out.txt
RoleStart.ps1
import-module WebAdministration
# Starting the listener service
$listenerService = Get-WmiObject win32_service -filter "name='NetTcpActivator'"
$listenerService.ChangeStartMode("Manual")
$listenerService.StartService()
$listenerService = Get-WmiObject win32_service -filter "name='NetTcpPortSharing'"
$listenerService.ChangeStartMode("Manual")
$listenerService.StartService()
$WebRoleSite = (Get-WebSite "*webrole*").Name
Get-WebApplication -Site $WebRoleSite | Foreach-Object { $site = "IIS:/Sites/$WebRoleSite" + $_.path; Set-ItemProperty $site -Name EnabledProtocols 'http,net.tcp'}
New-ItemProperty "IIS:/Sites/$WebRoleSite" -name bindings -value @{protocol="net.tcp";bindingInformation="808:*"}
我还使用端口 808 将 net.tcp 端点添加到角色属性。
当我尝试发布时第一次失败 - 角色循环启动和停止。但是当我禁用 Startup.cmd 时,它会成功发布。
但即使在这种情况下,我也无法解析服务引用。
我必须做什么才能使这项服务起作用?
【问题讨论】:
标签: c# wcf azure net.tcp azure-cloud-services