WCF怎么设置网络连接代理?

netstrive 2013-03-17 04:04:39
如题!
做了个项目用WCF调用 JAVA webservice
现在是网络代理 Proxy 没找到设置的地方,求有历经高手解答。
...全文
339 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
netstrive 2013-03-18
  • 打赏
  • 举报
回复
解决了 HomeLinkTransClient client = new HomeLinkTransClient(binding, epAddress); client.ClientCredentials.UserName.UserName = "用户名"; client.ClientCredentials.UserName.Password = "密码"; 此客户端代理是别人访问设置的用户名和密码 web.config配置才是网络代理 <system.net> <defaultProxy useDefaultCredentials="true"></defaultProxy> </system.net> 以上web.config设置会默认的从浏览器中找到代理。
段传涛 2013-03-17
  • 打赏
  • 举报
回复
如下仅参考。 WCF程序中客户端要生成代理才能调用服务,在客户端生成代理有多种方式,如用ChannelFactory和添加服务引用等。下面就分别来介绍下这两种生成代理的方式。 使用ChannelFactory 使用ChannelFactory创建代理需要的条件 1 服务端点的地址,即在宿主中用程序设置的或是配置文件中设置的。 2 服务端点的绑定协议。 3 服务契约的元数据,可以将服务契约复制一份到客户端或是在客户端添加对服务的引用。 下面的代码示例为通过ChannelFactory手动创建代理 EndpointAddress ea = new EndpointAddress("http://localhost:10000/Service/HelloWorldService"); IHelloWorldService proxy = ChannelFactory<IHelloWorldService>.CreateChannel(new BasicHttpBinding(),ea);EndpointAddress:端点地址,该类的实例作为CreateChannel方法的一个参数,实例化EndpointAddress时给的地址要和宿主中设置的地址一致。 IHelloWorldService:这个是服务契约在客户端的一个副本,不包含具体的实现。 ChannelFactory<T>:一个服务模型类型,可以产生客户代理和基础信道栈,使用该类的CreateChannel可以生成代理,有两个参数,绑定类型和端点地址,绑定类型和端点地址要和宿主中设置的一致。 添加服务引用的方式 1 在宿主的配置文件中配置元数据呢交换节点,并在行为中设置serviceMetadata, 2 在客户端添加服务引用时必须启动宿主。 3 配置文件设置好后,启动宿主,然后再客户项目上右击选择“Add Service Reference ”,在地址框中输入正确地址 Http://localhost:10000/mex:是配置文件中的基地址http://localhost:10000加上端点地址mex组合而成。 oec2003:为服务契约中设置的属性Name的值 HelloWorld:为自己定义的引用到客户端的名称。 4 添加服务引用后客户端的项目列表显示如下: 5 在客户端添加如下代码: 6 先运行宿主,然后运行客户程序就可以看到调用服务返回的结果。

62,234

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧