佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1119|回复: 6

.Net Remoting 讨论

[复制链接]
阿牙木 该用户已被删除
发表于 1-5-2007 10:31 PM | 显示全部楼层 |阅读模式
我想和各位大大讨论一下Remoting 的选择方法..

Scenario: 我有一个Windows Application, Client方面都是通过Remoting来和Server产生联系.
另外,因为一些需要,所以Server也需要量Remoting 回到Client (Server 变成Remoting Client, 而 Windows Application 变成 Remoting Server).

现在我有这个机会重新设计这块逻辑,我觉得应该要简化整个程序,所以不建议使用Server 再 Remoting Access回Client, 其实我们之前就是因为这一层逻辑的不稳定性而要重新设计的.

然而我们那里有人提出了用CAO (Client Activation Object), 我拿来研究了一下,看起来是不错,因为Server还能register callback回client, 可是我有以下的问题:

1) 要如何才能在Client A called a method on Remoting Server A (instantiated object for ClientA), 可是因为一些业务的处理导致必须把一些讯息再broadcast 给Client B, C 和D, 有办法从CAO那里如此直接cross-object 来access 吗?

2) 要怎么register callback? 我在网上找不到类似方法.

除了CAO, 我们还想到用回之前的singlecall, 然后再从windows client这里每隔两秒呼唤server 一次来查询有没有属于自己的message,可是我们之前的project用了这一个方法,缺点是一旦用户多了起来,server 的load 就会变得很够力...


各位大大要是被以上问题困扰,会采取什么方法呢?
回复

使用道具 举报


ADVERTISEMENT

发表于 1-5-2007 11:08 PM | 显示全部楼层
不太了解你的环境... 但或许可以和你分享一下我是如何做的. 我一直以来都是用 web services, 来达到以下的目的:

1. .Net 呼叫 SAP 的 method -> 以前真的是要用到 RPC (Remote Procedure Call), 但自从有了 web services 这概念, SAP 也推出了 .Net Web Services 的方案, 来让 .Net 呼叫自己的 method.

这种方法我用在 web, 也用在 application 里. 用在 application 的例子是大型秤系统 (给罗里的). 当罗里驶上秤, .Net apps 就会感应, 然后马上呼叫 SAP 的 method 执行任务.

2. PDA 呼叫/执行 server 的 method. 这种环境用 web services 的好处是, 不管你是在 GPRS 还是 wireless 的环境下, 你只需要用到 web services 一种方法.

PDA 为什么要呼叫 server object/method 呢? 可以有很多原因. 在我们的案件里, PDA 要呼叫 server 去自己向 SAP 或任何一个 backend system 更新自己的资料, 好让 PDA 可以下载最新的资料.
回复

使用道具 举报

阿牙木 该用户已被删除
 楼主| 发表于 2-5-2007 09:44 AM | 显示全部楼层
那么羊兄,如果你的SERVER有必要通知PDA一些事情,你是选择SERVER直接呼唤CLIENT的REMOTING,还是让CLIENT主动的呼唤SERVER(每隔数秒)?
回复

使用道具 举报

发表于 2-5-2007 01:39 PM | 显示全部楼层
原帖由 阿牙木 于 2-5-2007 09:44 AM 发表
那么羊兄,如果你的SERVER有必要通知PDA一些事情,你是选择SERVER直接呼唤CLIENT的REMOTING,还是让CLIENT主动的呼唤SERVER(每隔数秒)?


PocketPC 的话, PDA 得主动呼唤 server.
Blackberry 的话, server 会主动呼唤 PDA -> 这是 Blackberry 的独特技术.
回复

使用道具 举报

发表于 6-5-2007 10:54 AM | 显示全部楼层
我所知道的其它方法有 database 的 replication,
当每一个 client 或 server 更新资料时(trigger/scheduled),
资料会 replicate 去其它的 registered database,
, 有conflict时在server resolve。
不过这方法每一个client要有一个support replication 的 database,
譬如SQL Server, SQL CE等。也是很耗server resource。。。


还有就是RSS技术,用于server broadcasting, 没有实际用过,
可能跟你们所谓的 CAO 和 Web Service 有关系。。。
需要在 client install 东东。。。
回复

使用道具 举报

阿牙木 该用户已被删除
 楼主| 发表于 6-5-2007 12:06 PM | 显示全部楼层
RSS啊,和WEB SERVICE, CAO没有关系,
不过这方法有创意,我可以去试看看
RSS就是通过SERVER 发放XML,再用CLIENT去取得就可以了.
这方法不错,OVERHEAD应该不会很大.
回复

使用道具 举报

Follow Us
发表于 7-5-2007 02:38 PM | 显示全部楼层
RSS 只是索取资料。。。但不能执行 method. 不过还算是 remoting 的一种。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-9-2025 04:42 AM , Processed in 0.147363 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表