wpf的进程就是它的寄宿进程。

解决方案 »

  1.   

    因为你使用了visual studio,WCF的host工作被自动完成了,在WPF中添加了wcf服务,那么WPF就是所谓的客户端了,不负责寄宿,而是负责调用。微软的东西就是越来越让人觉得“神奇”,因为它做了很多自动化工作。
      

  2.   

    就是对WPF项目添加服务引用啊,如下这样的,点击"发现"按钮:
      

  3.   

    WPF的进程就是寄宿进程?可是WPF是客户端程序啊,如果此时的WCF服务在远程服务器上,....有什么不一样吗?
      

  4.   

    从你引用的图来看,宿主是VS提供的,好象叫WcfHost.exe吧,确切名称自己查一下吧。
    这个宿主应该是在调试时,由VS自动启动的。
    所以在正式发布时,需要你自己为service指定一个宿主。
      

  5.   

    WPF的进程就是寄宿进程?可是WPF是客户端程序啊,如果此时的WCF服务在远程服务器上,....有什么不一样吗?
    十分抱歉,是我自以为是了,我说错了,WCF的寄宿程序是visual studio自己启动的一个进程。
    不知楼主是否如此操作的:
    1、新建WCF服务库程序WcfServiceLibrary1;
    2、然后点击F5(或者Debug),启动该程序,这是Visual Studio会有提示:
    3、然后拷贝服务地址,然后像你所说那样添加引用。
    这时你的WCF服务的寄宿进程就是随WCF测试客户端一起启动的,名为:WcfSvcHost.exe的进程。即上图被红色圈住的进程,下面那个就是WCF测试客户端的进程了。
    所以WCF服务一定需要寄宿在某个进程上,而你启动WCF服务程序的时候,Visual Studio会自动给你创建一个这样的服务。
    希望帮到你。
      

  6.   

    你这个localhost 一串的路径,明显是把wcf的服务端 用网站服务器承载了呀,客户端 就像调用webservice一样的调用,这不是很清楚吗?
      

  7.   

    那如果今后我有WCF服务放在远程服务器上的,是不是必定得写个寄宿程序呢?这个寄宿程序是放在哪里的呢?
      

  8.   

    你说的这个情况是按F5启动WCF服务客户端测试的情况吧。我说的是,我已经将WPF1项目设为了启动项目之后,在WPF1项目中调用WCF服务,此时的寄宿程序在哪里呢?
      

  9.   

    既然你在添加服务引用的时候,能够正常显示服务,那就表示你的服务已经在这之前host起来的。这个跟你的WPF程序启动不启动没有关系。关键是不知道在添加服务引用之前你是如何操作的,IIS寄宿或者你有单独的进程host服务,但是你没注意。
      

  10.   

    我在WPF添加服务引用之前(也就是创建WPF项目之前),按F5进行了WCF测试客户端
      

  11.   

    可以自我寄宿和寄宿IIS中,但是楼主,你既然要用wcf为什么就不好好查资呢,这属于设计范畴了。
      

  12.   

    对哪个project F5?从你意思看,应该是还有其他project的,但是从最开始的整个solution的截图看,没看到其他的project,关键就是看你之前F5的那个project
      

  13.   

    最开始的时候只有WCF,对WCF服务按F5
      

  14.   

    那你启动的那个WCF程序就是host服务的操作了啊。
      

  15.   


    那么你就知道wcf寄宿在哪里了吧?!
      

  16.   

    那如果今后我有WCF服务放在远程服务器上的,是不是必定得写个寄宿程序呢?这个寄宿程序是放在哪里的呢?使用asp.net来部署,或者window server部署(控制台程序部署,等等),这些都是部署。就好像你写一个类库来计算四则计算,然后把这个类库部署在不同程序上。实际上,都可以部署wcf。不过话说回来,我更愿意自己写一个最简单最轻量的http消息服务功能,使用 json 方式,服务于所有web请求。而不是什么wcf。
      

  17.   

    添加WCF类库时,vs自动绑定内置宿主进程启动的,你点击鼠标右键查看该类库属性即可发现,它和一般类库不一样,带自启动功能的,由vs提供支持。
      

  18.   

    那如果今后我有WCF服务放在远程服务器上的,是不是必定得写个寄宿程序呢?这个寄宿程序是放在哪里的呢?
    一般来说对外提供的WCF服务都是已经寄宿好了的  否则你没办法调用的