Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET 2.0网站能否引用WCF Web服务?_.net_Asp.net_Wcf_.net 3.5_Asp.net 2.0 - Fatal编程技术网

ASP.NET 2.0网站能否引用WCF Web服务?

ASP.NET 2.0网站能否引用WCF Web服务?,.net,asp.net,wcf,.net-3.5,asp.net-2.0,.net,Asp.net,Wcf,.net 3.5,Asp.net 2.0,我们公司目前有一个部署在Windows 2000操作系统中的网站,这意味着我们只能在该机器上安装.NET 2.0。升级web服务器操作系统是不可能的,因为该web服务器还承载我国的其他web应用程序。作为我们IT政策的一部分,出于安全原因,不允许网站直接访问数据库中的数据。这就是为什么要遵守这些限制,我们有另一个服务器部署Web服务。此“应用程序服务器”当前已安装.Net 3.5 SP1,因此可以使用WCF服务 我的问题是,是否可以通过我们的ASP.NET网站(仅承载.NET 2.0)在WCF

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


我的问题是,是否可以通过我们的ASP.NET网站(仅承载.NET 2.0)在WCF web服务上添加web引用。

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

我很久以前就这样做了,这是可能的,但我必须克服一些障碍

  • 使用
    [XmlSerializer]
    而不是DataContractSerializer,.net 2.0不包括System.Runtime.Serialization 3.0,这是使用
    [DataContract]
    attibute所必需的,attibute是.net 3.0命名空间,出于某种原因.net 2.0无法读取使用DataContractSerializer编码的XML
  • 声明服务合同时,即
    [ServiceContract]
    还声明属性
    [WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1\u 1,EmitConformanceClaims=true)]
  • 您可以使用传输安全性对数据进行加密,需要工作证书
  • 使用svcutil生成服务引用,执行此操作时使用此开关
    /targetClientVersion:Version30

  • 谢谢我完全是一个使用WCF的noob,但我会记住:)。