【问题标题】:wcf wsDualHttpBinding security issues between ASP.NET page and Web serviceASP.NET 页面和 Web 服务之间的 wcf wsDualHttpBinding 安全问题
【发布时间】:2013-02-18 20:20:43
【问题描述】:

我完全被卡住了。

我在一台机器上获得了 Web 服务。 Web 服务有两个“服务”(或绑定?)一个普通的“basicHttpBinding”和一个“wsDualHttpBinding”。我只是添加了“wsDualHttpBinding”,因为我需要从 ASP.NET Web 表单发送的消息(布尔值)发送到我的 Winforms 应用程序。我只有一个使用网页的用户,但最多有 10 个 winforms 用户。

由于我正在重现生产环境,我陷入困境:网页无法连接到“wsDualHttpBinding”网络服务。我尝试了许多帮助页面,许多教程,但都不起作用。

事实上,我认为我的问题是我不明白为什么它需要任何类型的安全性......

我尝试使用不同的“clientCredentialType”,但都失败了。

更清洁的 TOPO:

  1. 客户端 A:在服务器 AA 上安装了 ASP.NET 4.0 网络表单。当用户单击一个按钮时,它会向 Web 服务 2 发送一个布尔值,并传播到客户端 B。
  2. Web 服务 1:安装在服务器 BB 上。普通 basicHttpBinding 用于获取和更新数据。
  3. Web 服务 2:在相同的项目中,然后是 Web 服务,在服务器 BB 1 上。这是一个“wsDualHttpBinding”用于在客户端 A 和多个客户端 B 之间(以及不同的客户端 B 之间)发送消息。
    1. 客户端 B:ASP.NET winform。安装在多台计算机(XP 和七)上。在这种情况下,我们使用它来查看客户端 A 发送的消息。

感谢您的帮助!

【问题讨论】:

  • 您对“无法连接”端点有何看法?它在运行时爆炸了吗?如果是这样,它是否提供任何堆栈跟踪?这些网站是如何托管的?
  • Web 服务和网站是自托管的,位于 Intranet 中。两台机器都是Windows 2008 R2。我可以给你一个堆栈跟踪,但是我尝试了很多我不确定什么是相关的连接方法。它会帮助你帮助我吗?我只是想要一个将网页连接到 wsDualHttpBinding Web 服务的工作示例。 (Winform 到 Web 服务似乎工作正常)谢谢

标签: asp.net winforms wcf security


【解决方案1】:
【解决方案2】:

如果没有更具体的细节,例如错误消息,就很难提供帮助。我建议您将以下内容添加到应用程序的所有配置文件中,如http://msdn.microsoft.com/en-us/library/ms733025.aspx中所述

<configuration>
   <system.diagnostics>
      <sources>
            <source name="System.ServiceModel" 
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener" 
                   type="System.Diagnostics.XmlWriterTraceListener" 
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>
</configuration>

然后,这将为您提供大量有关正在发生的事情的跟踪数据。我发现这对诊断 WCF 问题非常有用。

【讨论】:

    【解决方案3】:

    您需要在服务器端配置文件中指定相同的绑定细节,

    你已经这样做了吗?

    请参考原文link

    我希望这可能会有所帮助:)

    【讨论】:

    • 我认为您没有引用该链接,它用于客户端和服务器握手和信息交换,您正在使用“这是一个“wsDualHttpBinding”用于在客户端 A 和多个客户端 B 之间发送消息。”在问题的第 3 点。请使用服务器上的服务器变量来执行此操作,就像我们在聊天程序中所做的那样,而不是直接使用客户端。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多