sách gpt4 ai đã đi

WCF 服务调用使用 basicHttpBinding 但因 netTcpBinding 失败

In lại 作者:行者123 更新时间:2023-12-04 17:57:28 28 4
mua khóa gpt4 Nike

(请阅读评论,因为我有一个修复)
你好,

我创建了一个 WCF 服务,我使用 .net 4.0 在 Windows 7 上的 IIS 7.5 中托管
该服务托管在 http 和 net.tcp 上。

  • net.tcp://localhost:42/Service/MyService.svc
  • http://localhost:43/Service/MyService.svc

  • 我已经使用 WcfTestClient 测试了我的服务,它似乎可以通过 basicHttp 和 netTcp 正常工作。

    但是,当我尝试通过我的 ASP.NET 网站使用此服务时,我在尝试通过 nettcp 时收到错误消息

    我的客户端端点如下所示




















    现在我以完全相同的方式调用服务,只是交换我的端点名称
    var factory = new ChannelFactory(SuppliedEndpointName);
    factory.Open();
    var proxy = factory.CreateChannel();
    var result = proxy.SomeServiceMethod();

    如果我通过这个方法basicHttpBinding它完美地工作。
    第二次我交换到 nettcp,我立即收到此错误:

    Exception: The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:01:00'.

    Inner Exception: An existing connection was forcibly closed by the remote host

    Error Code: 10054



    请任何人都可以帮助我,这让我发疯。
    我肯定安装了 WCF HTTP 激活和非 HTTP 激活功能。
    我已将我的绑定(bind)设置为不同端口上的 HTTP 和 net.tcp。
    我已在 IIS 中将启用的协议(protocol)设置为 http,net.tcp。
    我已禁用我的防火墙。
    我已经为 .net 4.0 运行了 aspnet_regiis -i

    帮助!

    我终于发现将我的安全模式更改为传输可以解决问题。
    但是我的服务将其安全模式设置为无。
    那么为什么我的客户端只能在安全模式传输上工作呢?

    1 Câu trả lời

    netTcpBinding默认传输安全性为 签名和加密 .尝试删除 bảo vệ元素().



    低于 8000(肯定低于 1024)的端口通常不能安全地用于服务。尝试使用安全端口。

    关于WCF 服务调用使用 basicHttpBinding 但因 netTcpBinding 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670015/

    28 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com