【问题标题】:WCF Not Binding to TCP Port (checking via netstat -a)WCF 未绑定到 TCP 端口(通过 netstat -a 检查)
【发布时间】:2010-07-23 00:22:46
【问题描述】:

好的,我会尽量做到直截了当。我在 VS2010 中使用 VB.Net,我正在尝试自托管 WCF 服务。 (它实际上是在一个 Windows 服务中,但我试图通过一个简单的控制台应用程序来做到这一点。下面是有问题的代码,TCP/IP 地址直接在这里注入。WCF 服务本身只是一个重命名的 DEFAULT 新 WCF服务项目。

Dim host As New ServiceHost(GetType(TestService))

Dim tcpb As New NetTcpBinding()
tcpb.PortSharingEnabled = True
host.AddServiceEndpoint( _
    GetType(ITestService), _
    tcpb, _
    "net.tcp://localhost:62020/TestWcfService/" _
)

host.Open()

Console.ReadKey(True)

host.Close()

我不认为我可以让这变得更简单.. 我需要做一些特别的事情来让端口真正绑定吗?当我运行 netstat -a 时,它没有在 62020 上显示侦听端口,我真的对此束手无策。

背景:我有另一个 WCF 服务正在尝试从 IIS 迁移到在 Windows 服务中运行的单独服务器。 WCF 服务只能在内部访问。我在进行迁移时遇到了很多问题,因此尝试获取一个简单的服务来绑定,并让客户端(网站)访问它。另一个 WCF 绑定(不同端口)正常,但有通信错误。那里有大量的东西,很少能真正满足我的需求,而且我在使用它时遇到了很多麻烦。

【问题讨论】:

    标签: vb.net wcf visual-studio-2010 tcp


    【解决方案1】:

    我在测试一项新服务时遇到了完全相同的问题。原来我只是忘记用 [ServiceContract] 属性标记服务接口。我猜 WCF 并没有为创建端点而烦恼,因为没有找到服务合同。

    如果出现错误消息会很好,因为我无法想象有人想要在没有实现至少一个合同的情况下打开 ServiceHost,但我怀疑这仅在您使用 .NET 4 中的简化配置时才会发生。

    【讨论】:

    • 不...接口指定 ... :/ 好点。
    • 原来是一个类似的问题......绕过并添加了与适当绑定分开的端点uri......目前正在代码中完成,但将调整以使用配置-基于设置(服务/客户端设置)...客户端代理仍将被编码,因为后端将在多台机器上运行(取决于用户/会话)。
    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 2013-05-19
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多