none
你好,老徐,我在你博客中下载了步步为赢中的代码,有个问题问问你 RRS feed

  • 问题

  •    
         我下载了WCFServiceConfigFrankXuLei 这个工程,然后我编译运行后顺利通过,该例子使用了Http和tcp两种方式连接。为了作试验,我选中WCFClient客户端工程,打开Service Reference,并在之前启动了WCFHost,让服务运行。
       
         在ServiceReferenceHttp中选择更新服务引用,程序顺利的更新了服务引用,但是编译客户端时却不能编译,报“错误 1 类型“WCFClient.WCFClient”中不存在类型名称“ServiceReferenceHttp” 。我打开由生成工具自动生成的在客户端的服务操作契约文件Reference.cs文件,发现在更新服务引用后,namespace变为了WCFClient.ServiceReferenceHttp ,而不是之前的ServiceReferenceHttp。并且在该cs中有几个地方的引用都出现该情况。

        难道这个和我的开发环境不一致造成的? 我看了一下Reference.cs的注释,代码工具运行时版本为2.0.50727.3603。而你本来的程序生成代码工具为2.0.50727.1433,我安装的是vs.net2008SP1 .net3.5sp1框架。我程序都没有动,就是运行服务器端,然后更新客户端的应用而已就出了这个问题,请教一下你遇到过这个情况没有。
    2010年2月27日 9:45

答案

全部回复

  • Hi,

       你可以重新添加服务引用,把旧的客户端引用生成的文件删除,这个时候你设置一个新的nameSpace,注意不要使用WCFClient,不然你编译的时候会出错。这个名称和WCF默认的生产客户端代理类的名字重复。
    这个代码我使用的也是vs.net2008SP1 .net3.5sp1开发的。
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2010年2月27日 13:05
    版主
  •  你好,
               我把你添加的http引用删除掉了,重新添加服务引用,在添加对话框中的namespace我输入ReferenceHttp,然后得到的Reference.cs文件中的namespace 变为了WCFClient.ReferenceHttp,然后还是编译出错,错误和以前一样。始终前面他自动要给你加上一个WCFClient,有点搞不懂了。
    2010年2月27日 16:19
  •  你好,
               我把你添加的http引用删除掉了,重新添加服务引用,在添加对话框中的namespace我输入ReferenceHttp,然后得到的Reference.cs文件中的namespace 变为了WCFClient.ReferenceHttp,然后还是编译出错,错误和以前一样。始终前面他自动要给你加上一个WCFClient,有点搞不懂了。

    重新添加服务引用可以解决问题。

    另外一个办法就是你自己手动修改这些错误。
    根据编译时的错误提示进行。
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2010年2月28日 4:30
    版主
  •            也只有这样了。
    2010年2月28日 5:48