我无法获得服务器2012 iis来托管net.tcp。
在服务器2008R2 / VS2012中没有问题
在server2012 / VS2012中,当我点击wdsl时,我首先收到“协议'net.tcp'没有注册的HostedTransportConfiguration类型的实现。”,然后如果我点击刷新我得到“具有相同密钥的项目具有已被添加。“
如果“服务无法打开其IChannelListener”,则来自TraceViewer的错误
但是我已经在默认网站上设置了Bindings(必须使用命令行,因为如果在网格中编辑net.tcp会抛出异常,这是一个已知问题)
我已将应用程序级别的绑定设置为http,net.tcp,创建了一个具有网络服务标识的新AppPool,并使用findPrivateKey为其授予权限。
我创建了Server 2008R2 / VS2012的新版本,并且没有遇到上述步骤的问题。
编辑服务器2012的附加说明
添加角色和功能:
已验证以下安装:
Web服务器 - 应用程序开发:所有已检查但CGI和ASP(经典)
.NET Framework 3.5功能:全部已检查
Windows进程激活服务:全部已检查
IIS:默认网站:bindings net.tcp 8081:
IIS:默认网站 - >高级设置 - >启用协议:http,net.tcp
IIS:默认网站\服务 - >高级设置 - >启用协议:http,net.tcp
Server2012有什么特别之处吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以尝试以下提示:
1 - 打开命令提示符(以管理员身份)并运行: netstat -ona
检查您的服务是否正在侦听您的服务器端口。
示例:您的端点是net.tcp:// localhost:8015 / MyService。所以运行上面的命令,你会看到一个项目: TCP 127.0.0.1:8015 0.0.0.0 LISTENING
2 - 如果您的服务没有收听,请创建一个控制台应用并自行托管您的服务。 例如:
using System.ServiceModel.ServiceHost;
public class Sample
{
ServiceHost host = new ServiceHost(typeof(MyService));
public static void Main()
{
host.Open();
Console.WriteLine("listening...");
Console.Read();
host.Close();
}
}
3 - 重复第一步,检查您的服务是否正在侦听端口。