[WCF] 能否在Service1中和Service2交互?

vitachuh 2011-05-30 04:35:49
如题。
注,所有Service均为WCF开发。

使用场景举例如下:
1. A局域网内,仅有Service1外网能够访问,其余节点只能访问内网,Service1提供接口供外网调用;
2. B局域网环境配置同A,Service2;
3. C客户端,处于外网,不能直接访问A、B资源;
4. 外网服务器,提供Service3,供C获取A、B资源。

功能:
1. Service1、Service2在Service3上注册,记录Service的IP等身份信息;
2. C通过Service3访问注册的其它网络资源。

问题:
不同WCF Service之间如何交互?不是也采用Proxy的方式吧?
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2011-05-30
  • 打赏
  • 举报
回复
呵呵,就这个跨域相互调用的例子,只有相互引用WCF服务最简单。

其他的通信方式(Remoting,Socket...无非就是这些, Remoting其实就是WCF)也不会更简单了。

vitachuh 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fangxinggood 的回复:]
服务最好做成是单向的(至少引用是单向的,不过WCF duplex是双向的)简单清晰
[/Quote]

嗯,举例又没有描述好。假设是已经单向的,绕开设计问题。

换个例子:
Service1提供Function1;
Service2提供Function2;
Function2包含Function1,这里想直接在Service2中调用Service1相关契约组合成Function2。

我更想知道,除了在Service2中引用Service1的方式外,还有没有其它的途径?
vitachuh 2011-05-30
  • 打赏
  • 举报
回复
呃,我错了,标题起错名字了。应该是“如何在WCF Service中和另外的WCF Service交互”。
机器人 2011-05-30
  • 打赏
  • 举报
回复
服务最好做成是单向的(至少引用是单向的,不过WCF duplex是双向的)简单清晰
vitachuh 2011-05-30
  • 打赏
  • 举报
回复
呃...只能这样么?刚开始我也是这样写的代码,但是写出来后,发现配置文件有点冗余混乱,基本上不能阅读不能理解...所以想问问有没有更好的方式实现WCF的Service之间相互调用访问?
机器人 2011-05-30
  • 打赏
  • 举报
回复
看样子,Service1,Service2没有相互访问。
Service3 其实是要给C 访问Service1,Service2 做“代理”吧
所以 S3是客户端,S1,S2是服务端。S3需要引用S1,S2(Service Reference)或者部署
S1,S2的ServiceContract。
vitachuh 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fangxinggood 的回复:]
不同进程的服务,当然是也是远程调用,

要么Service1, Service2 用DB共享信息。
要么直接相互引用WCF Service使用远程调用
[/Quote]

谢谢回复。
Service1、Service2位于不同网络中,不能共享DB。

你所说的相互引用Service,这样理解行不:
当Service3需要用到Service1时,S3是S1的客户端,需要S3引用S1通过S1的Proxy访问;
当Service1需要用到Service3时,S3是S1的服务端,需要S1引用S3通过S3的Proxy访问?
机器人 2011-05-30
  • 打赏
  • 举报
回复
不同进程的服务,当然是也是远程调用,

要么Service1, Service2 用DB共享信息。
要么直接相互引用WCF Service使用远程调用

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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