【问题标题】:Can an ASP.NET 2.0 Web site reference WCF Web Services?ASP.NET 2.0 网站可以引用 WCF Web 服务吗?
【发布时间】:2011-01-05 08:56:17
【问题描述】:

我们公司目前有一个网站部署在 Windows 2000 操作系统中,这意味着我们只能在该机器上安装 .NET 2.0。升级网络服务器操作系统是不可能的,因为这个网络服务器还托管我们国家的其他网络应用程序。作为我们 IT 政策的一部分,出于安全原因,不允许网站直接访问我们数据库的数据。这就是为什么要遵守这个限制,我们有另一个部署 Web 服务的服务器。此“应用服务器”当前安装了 .Net 3.5 SP1,因此可以使用 WCF 服务。

我的问题是,是否可以通过仅托管 .NET 2.0 的 ASP.NET 网站在 WCF Web 服务上添加 Web 引用。

【问题讨论】:

    标签: .net asp.net wcf .net-3.5 asp.net-2.0


    【解决方案1】:

    当然可以。如果 WCF 服务使用 basicHttpBinding 绑定,那么它将与所有 SOAP 1.1 客户端兼容,包括“添加 Web 引用”。

    【讨论】:

      【解决方案2】:

      我很久以前就做过了,这是可能的,但这里有一些我必须克服的绊脚石

      1. 使用[XmlSerializer] 代替DataContractSerializer,.net 2.0 不包括System.Runtime.Serialization 3.0,这是使用[DataContract] 属性所必需的,这是一个.net 3.0 命名空间,并且由于某种原因.net 2.0 不能读取使用 DataContractSerializer 编码的 XML
      2. 当您声明您的服务合同时,即。 [ServiceContract] 也声明属性[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1, EmitConformanceClaims = true)]
      3. 您可以使用传输安全加密数据,需要有效的证书
      4. 使用svcutil生成服务引用,这样做时使用此开关/targetClientVersion:Version30

      【讨论】:

      • 谢谢。我是一个使用 WCF 的菜鸟,但我会记住这一点:)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多