none
请教关于客户端通过代码寻找服务的问题 RRS feed

  • 问题

  • 请教各位专家,如何在客户端不修改配置问价,不手动添加服务引用,直接在代码中实现服务引用,并让客户自己选择的功能?
    2011年3月21日 2:55

答案

全部回复

  • 当然可以,代码引用 wcf 搜一下 很多的 
    你随时可以开始!
    2011年3月21日 9:08
    版主
  • 好的  谢谢
    2011年3月21日 10:58
    1. Binding binding = new BasicHttpBinding();  
    2. EndpointAddress endPoint = new EndpointAddress( "http://localhost:2442/Service1.svc");  
    3. Service1Client client = new Service1Client(binding, endPoint); 
    4. 我在网上找了这样的绑定方式,但是BasicHttpBinding不是适合于客户端的绑定方式,编译会报错。。。请问该怎么办?
    2011年3月21日 11:15
  • 请教各位专家,如何在客户端不修改配置问价,不手动添加服务引用,直接在代码中实现服务引用,并让客户自己选择的功能?


    这里没有什么专家。

    大家一起交流。

    请问你的意思是 动态解析并调用服务?


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年3月22日 1:43
    版主
    1. Binding binding = new BasicHttpBinding();  
    2. EndpointAddress endPoint = new EndpointAddress( "http://localhost:2442/Service1.svc");  
    3. Service1Client client = new Service1Client(binding, endPoint); 
    4. 我在网上找了这样的绑定方式,但是BasicHttpBinding不是适合于客户端的绑定方式,编译会报错。。。请问该怎么办?

    BasicHttpBinding只是兼容之前的Web服务程序,这个绑定不适用于其它新的服务规范。
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年3月22日 1:44
    版主
  • Binding binding = new NetTcpBinding();
                EndpointAddress endPoint = new EndpointAddress("net.tcp://172.25.63.167:8002/WCFService");
                WCFServiceClient client = new WCFServiceClient(binding, endPoint);
                WindowsFormsApplication1.ServiceReference1.WCFServiceClient wc = new WindowsFormsApplication1.ServiceReference1.WCFServiceClient();
                WindowsFormsApplication1.ServiceReference1.User user = new User();
                user.FirstName = "p";
                user.LastName  = "c";
                MessageBox.Show(wc.SayHelloToUser(user));
    比如以上代码 ,是参考了您的WCF的代码,  现在我想在这个FORM中不通过手动添加服务引用而能使用WCFService中的服务,如果按照上面的代码,则会报以下错误:
    1、 Cannot implicitly convert type 'System.ServiceModel.NetTcpBinding' to 'System.Windows.Forms.Binding'
    2、   无法引用ServiceReference1  导致一系列问题:wc不存在 user类不可以使用等
    2011年3月22日 12:35
  • 这不似乎我写的代码吧。

    1.这个命名空间引用的不对吧。换成'System.ServiceModel.NetTcpBinding

    2.User 这个类型你确定在客户端有吗?


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年3月22日 15:50
    版主
  • 服务端和客户端的绑定方式得一样才行。
    你随时可以开始!
    2011年3月23日 1:46
    版主