通过代理服务器的 WCF 可靠会话 - 在 Windows XP 上不发送身份验证凭据

发布于 2024-09-08 16:58:25 字数 1099 浏览 7 评论 0原文

我有一个完全信任的 XBAP,它使用下面附加的端点配置使用可靠的会话连接到远程服务。问题是,当在客户端的组织代理服务器后面运行应用程序时,WCF 请求在 Windows XP 上被阻止,但在 Windows 7 上则可以正常通过。我的怀疑(有待客户端进一步分析)是:尽管 useDefaultWebProxy=true 设置,但默认代理凭据不会附加到 XP 计算机上的 HTTP 或 HTTPS 请求。

这是 XP 上的已知问题,还是我遗漏了什么?有没有办法绕过这个问题?

预先感谢您的任何帮助

安全(生产)版本的绑定配置:

<customBinding>
    <binding name="Https_IOltpLogic">
        <reliableSession ordered="False" inactivityTimeout="00:20:00" />
        <httpsTransport />
    </binding>
</customBinding>

对于演示(不安全)版本:(

<wsHttpBinding>
    <binding name="WSHttpBinding_IOltpLogic"
         allowCookies="false"
         bypassProxyOnLocal="false"
         hostNameComparisonMode="StrongWildcard"
         messageEncoding="Text"
         textEncoding="utf-8"
         useDefaultWebProxy="true">
        <reliableSession enabled="True" ordered="False" inactivityTimeout="00:20:00" />
        <security mode="None" />
    </binding>
</wsHttpBinding>

请注意,它们在所描述的条件下都不起作用!)

I have a full trust XBAP which connects using reliable sessions to a remote service using the endpoint configuration attached below. The catch is that when running the application behind a client's organizational proxy server, the WCF requests are blocked on Windows XP but pass through fine on Windows 7. My suspicion (pending further analysis by the client) is that the default proxy credentials are not attached to the HTTP or HTTPS requests on the XP machines, despite the useDefaultWebProxy=true setting.

Is this a known issue on XP, or am I missing something? Is there a way to bypass this issue?

Thanks in advance for any help

Binding configuration for the secure (production) version:

<customBinding>
    <binding name="Https_IOltpLogic">
        <reliableSession ordered="False" inactivityTimeout="00:20:00" />
        <httpsTransport />
    </binding>
</customBinding>

For the demo (unsecured) version:

<wsHttpBinding>
    <binding name="WSHttpBinding_IOltpLogic"
         allowCookies="false"
         bypassProxyOnLocal="false"
         hostNameComparisonMode="StrongWildcard"
         messageEncoding="Text"
         textEncoding="utf-8"
         useDefaultWebProxy="true">
        <reliableSession enabled="True" ordered="False" inactivityTimeout="00:20:00" />
        <security mode="None" />
    </binding>
</wsHttpBinding>

(Please note that neither of them work under the described conditions!)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

筱果果 2024-09-15 16:58:25

好吧,在客户端的网络管理员摆弄代理服务器设置后,它自行解决了...由于我不允许分析 HTTP 流量,所以我真的不知道哪些标头丢失/修改,导致 WCF 请求被被阻止,而普通浏览器请求通过。

Well, it worked itself out after the client's network admin fiddled with the proxy server settings... since I wasn't allowed to analyze the HTTP traffic I don't really know which headers were missing/modified that caused the WCF requests to be blocked and the normal browser requests to pass though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文