VS2008调用VS2012的WCF服务的方式和遇到的问题

1 用添加服务引用的懒方式

2 用http请求方式

3 客户端自己定义一个Contract,跟服务端的一样(可以只写要使用的方法,不用全部写完)。

 由于规范要求,前两种都不能用,后面根据同事的描述,产生的第三种方式。(差点我们就升版本了,好震撼的举动,降版本不是一个好的办法)

 但是命名空间+类名必须跟服务端的一样,这是为什么呢?因为要根据这个去找地址。

 为什么方法名也必须有呢?

 因为这实际上是代理的方式在调用。

4 遇到的问题

  开发阶段都没有遇到什么问题,以为一切OK,结果提测不过?

 一直报:类型“***********”在未被引用的程序集中定义。必须添加对程序集“****************”的引用。

 我以为是dll不匹配的问题,丢了很多次dll,还是不过。

 我注意看了一下,发现不管我怎么丢dll,更改的dll都有一大片,于是我重新牵了一个分支,只丢我要丢的dll。

 还是提测编译不过。

 我已经把服务器上的代码拿出来看,是编译不过,但是我把dll丢进行之后又对了。

 我又想到一招,把服务器上的dll,考到本地,再把变更dll丢进去,提测,好吧.....还是不过。

 最后一招,找管理提测的同学!

但同时,我就在想这个Contract,跟我这个服务的Contract有什么不同呢?我把新增Contract的所有  类似这种标注[OperationContract]全部对比一遍,发现是对的。最后我就想实在不行,我就把新增的Contract拷贝到原有服务Contract的项目下面,引用共同的东西,肯定没有问题,这一引用,我就发现问题了。一个是引用:****************.WCF;,另一个是引用:******************.Wcf;我去,居然能编译通过,而且我本地测试这么久竟然完全没有问题!

 把引用的命名空间改一下,对了!

5 思考

 按照常理来讲,如果说本地能编译通过,那么提测过去的代码也能编译通过,但是结果没有,原因是两份代码引用dll部分根本不一样,那么这就涉及到提测的时候dll收集的问题!有空把源代码拉下来看看!另外一个问题是,怎么两个dll中有同样的东西,这个也可以看看!

时间: 2024-10-29 19:06:27

VS2008调用VS2012的WCF服务的方式和遇到的问题的相关文章

搭建一个BS 的简单SOA 架构(直接通过jquery 调用后台的 wcf 服务的架构),第一天

经过这些天一直在研究 jquery  以及 WCF,现在公司有一个需求: 1. 前台直接通过  js 通过json格式,json 格式 其中包括方法名字传输 到后台,直接调用wcf,后台通过解析 方法名, 调用对应的方法. 2.技术难点: 如何 直接 通过 jS 调用后台的 WCF的服务. 如何通过方法名字,直接调用对应的方法. 3.框架的好处: 直接由服务端到前台,节省了很多的中间环节.大大减少的代码量. 同时服务端 可以轻松的跨平台. 4.开始分析架构: 首先 ,前台 需要传输的参数包括 

WCF服务开发与调用的完整示例

开发工具:VS2008 开发语言:C# 开发内容:简单的权限管理系统 第一步.建立WCF服务库 点击确定,将建立一个WCF 服务库示例程序,自动生成一个包括IService1.cs和Service1.cs两个类文件.我们可以直接对其修改开发我们的服务,但一般直接删除. 第二步:开发实体类 在解决方案中,添加新类Module.cs 在类中要首先引入using System.Runtime.Serialization命名空间 实体类具体代码如下: namespace WcfServiceLib.mo

WCF服务端开发和客户端引用小结

1.服务端开发(包含寄宿) 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序,可生成一个带.svc后缀名的文件.该文件与webform中的aspx文件类似,有后置代码,这些后置代码是服务接口的实现.这种方式创建的WCF服务都承载在IIS或WAS上. (2)创建WCF服务库 WCF服务库是一个类库,如前所述包含一个服务接口和服务实现,此种方式创建的WCF服务可根据

托管 WCF 服务

WCF 中,最让我感到兴奋的方面是它可以把服务托管在任意程序中,而不一定是网站服务器.这开启了一种可能性,即创建的服务,其实现可以动态改变的能力,因为它们能够托管在 fsi.exe.为了使前面的示例能够运行在 fsi.exe,还需要对它做一些修改,但修改相当简单. 清单 11-13 展示了清单 11-9修改后的版本,它能够运行在 fsi.exe. 清单 11-13 托管在 F#交互中的服务 #I @"C:\Program Files\Reference Assemblies\Microsoft\

记录:Web无引用无配置方式动态调用WCF服务

这几年一直用WebApi较多,最近项目中有个需求比较适合使用WCF,以前也用过JQuery直接调用Wcf的,但是说实话真的忘了… 所以这次解决完还是花几分钟记录一下 WCF服务端:宿主在现有Win服务中,在服务启动时添加代码 ,服务代码就不用写了,接口和实现按照契约实现即可 private ServiceHost serviceHost = null; //服务宿主 //启动WCF服务 if (serviceHost != null) { serviceHost.Close(); } servi

WCF系列之WCF服务调用方式

WCF服务调用通过两种常用的方式:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式,一种是通过ChannelFactory直接创建服务代理对象进行服务调用. 通过SvcUtil.exe的方式调用服务 SvcUtil.exe是一个命令行工具,位于:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin目录下,可以将SvcUtil.exe添加到VS2010中方便以后的运用,添加方式:在VS2010的Tools菜单中选择External T

Post方式调用wcf服务

我们平常在PC端调用WCF服务,只要知道WCF服务的地址,客户端直接添加引用服务就可以使用了,殊不知还有其他方式,其实,我们也可以 通过HTTP POST的方式调用WCF服务,这样就不用添加引用了,在手机移动端开发后台服务,都是通过Post的形式调用WCF服务,当然,这种方式在PC也可以使用. 我们来看下面的一个简单示例.下面的示例演示了服务器端和客户端的简单通讯 服务器端返回一个JSON字符串,代码如下 契约定义 [csharp] view plaincopy [OperationContra

WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]

原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码和配置:通过ChannelFactory<TChannel>创建服务代理对象.在这篇文章中,我们采用一种独特的方式进行服务的调用.从本质上讲,我们只要能够创建于服务端相匹配的终结点,就能够实现正常的服务调用.在WCF客户端元数据架构体系中,利用MetadataExchangeClient可以获取服

转:WCF服务开发与调用的完整示例

转:http://blog.csdn.net/fxhflower/article/details/7274925 WCF服务开发与调用的完整示例 开发工具:VS2008 开发语言:C# 开发内容:简单的权限管理系统 第一步.建立WCF服务库 点击确定,将建立一个WCF 服务库示例程序,自动生成一个包括IService1.cs和Service1.cs两个类文件.我们可以直接对其修改开发我们的服务,但一般直接删除. 第二步:开发实体类 在解决方案中,添加新类Module.cs 在类中要首先引入usi