频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

微软 .NET Remoting体系结构评估

来源:Microsoft 作者: 出处:巧巧读书 2005-11-24 进入讨论组
上一页 1 2 3 4 5 6 7 8 9 10 11 下一页 
使用 Remoting 的最佳方法

  一直以来,开发和测试分布式组件不仅项目开销大,而且很令开发人员头疼。以下指导原则是在实践中摸索得到的,来之不易。下面简单介绍一下要执行的步骤:

  主机任务

   设计服务,选择应用程序域、激活模式、通道、端口和发布。

   实现 Remoting 主机应用程序域(例如 IIS/系统服务)。
 
   配置主机激活、通道和协议设置。建议使用配置文件,可以通过调用 RemotingConfiguration.Configure 加载。

   发布接口,供客户端使用(有关详细信息,请参阅下文中的“接口发布选择”)。

  客户端任务

   设计客户端,选择应用程序域和激活模式。

   考虑是否需要注册通道和端口。

   获取远程类型元数据。

   实现客户端应用程序域。

   配置客户端激活模式和其他类型的信息,如应用程序名称、通道和对象 URI 等。建议使用配置文件,可以通过调用 RemotingConfiguration.Configure 加载。

  格式化选择

  作为标准,Remoting 可以配置为在 HTTP 通道上使用 SOAP 或二进制格式化程序,或者在 TCP 通道上使用二进制格式化程序。一般情况下,在客户端配置文件中输入适当的条目和调用静态的 RemotingConfiguration.Configure 方法都可以实现这种配置。

  例如,要将 Remoting 连接配置为使用 HTTP 上的二进制格式化程序,可以按以下方法完成配置条目:

<channel ref="http" useDefaultCredentials="true" port="0">
<clientProviders>
<formatter ref="binary"/>
</clientProviders>
</channel>

  这里的“channel ref”指 HTTP 协议,“formatter ref”指要在通道上发送的消息格式,在此示例中为二进制。

  遗憾的是,在开发过程中将二进制格式化程序用于 HTTP 通道,会产生屏蔽服务器端错误的副作用,例如,一般的服务器错误或访问冲突都会误报给客户端。这是因为使用二进制格式化程序时,客户端的 Remoting 组件需要以二进制格式返回消息,它无法正确解释纯文本的错误结果,并报告以下错误:

  mscorlib.dll 中出现无法处理的异常类型 System.Runtime.Serialization. SerializationException。其他信息:BinaryFormatter 版本不兼容。需要使用 1.0 版。收到的版本为 1008738336.1684104552。

  这种错误大部分“不是”因为版本不兼容,而是因为客户端无法分析文本格式的错误响应。虽然我们相信这种协议缺陷能够在产品的未来版本中得到解决,但还是强烈建议您在开发过程中使用 SOAP 格式化程序。证实之后,可以将此格式化程序切换为二进制以增强性能,但应该在性能优势充分且必要的情况下才这样做。

转载保留:http://www.qqread.com/dotnet/y520949000.html 更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 7 8 9 10 11 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章