• (已解决)局域网内的部分IE client无法从Windows server 2003发布的WCF接口中读取数据


    2009-03-26

    环境:

    服务器:Windows server 2003 sp2 + WCF Host 服务管理器 + Oracle 10g数据库

    客户端:Windows XP sp2 + WPF web application

    待解决问题描述:

    在Windows server 2003上发布的WCF服务,一部分Windows XP用户无法在客户端读取从Oracle中取出的数据。

    测试后现象

    1. 部分Windows XP用户能够正常访问,目前测试的Windows vista用户都能正常读取数据。

    2. WCF Host服务端改为Windows vista平台,其中一台Windows XP sp3客户端能够正常读取数据,另外3台Windows XP sp2和1台Windows XP sp3客户端仍然不能正常读取数据。

    3. WCF Host服务端改为Windows XP sp2平台,2中的所有Windows XP用户都不能正常读取数据。

    理想方案:

    因为企业里目前最稳定和低成本的软件环境是Windows server 2003 sp2 + Windows XP sp2,所以希望该环境下的用户都能正常读取数据。

    ------------------------------------------------------------------------------------------------------------------------------------

      2009-03-27 问题解决

     问题解决方法

    WCF binding的缺省设置的安全级别为Windows,要在局域网内正确访问,需要将安全属性设为None。

    我的Service的 endpoint 的bindingConfiguration="MESService_NetTcpBinding"

    bindingConfiguration

    问题分析

    我认为,由于开发机经常访问服务器,所以客户端的Windows缺省保存了登陆服务器的帐号,所以服务器上发布的服务在Windows认证下是能够通过的,这就是部分客户端能访问的原因,而跟客户端是Windows XP还是Vista是没有关系的。而其它没有登陆过服务器的客户端在通过不了服务器的Windows认证情况下是无论如何都不能调用服务的接口的。

    经验教训:

    以后碰到分布式调用的问题,首先找服务的安全问题!


  • 相关阅读:
    SQL Server的AlwaysOn错误19456和41158
    kvm上的Linux虚拟机使用virtio磁盘
    利用HAProxy代理SQL Server的AlwaysOn辅助副本
    KVM安装部署
    ola.hallengren的SQL Server维护脚本
    在单链表的第i个位置后插入一个节点(阿里+腾讯等面试题总结)
    怎么发现RAC环境中'library cache pin'等待事件的堵塞者(Blocker)?
    php unserialize 返回false的解决方法
    千万别让这些举动断送了你的职业前程-好文共分享
    Android开发:仿美团下拉列表菜单,帮助类,复用简单
  • 原文地址:https://www.cnblogs.com/cubean/p/1422845.html
Copyright © 2020-2023  润新知