作者: OneAPM
查看: 2863|回复: 6

[教程] 【NET远程处理】不改变中间层,如何玩转NET远程处理

[复制链接]
OneAPM 发表于 2015-12-17 17:54:11 | 显示全部楼层 |阅读模式
查看: 2863|回复: 6
标题:
不改变中间层,如何玩转 .NET 的远程处理功能?

原文链接:

https://msdn.microsoft.com/enus/library/aa289846(v=vs.71).aspx

Visual Studio .NET 2003
该方案展示了传统系统与托管代码的集成方法,以及这些传统系统如何使用核心 .NET 远程服务。具体点说,该方案展示了在不改变中间层应用程序的前提下,如何利用 .NET 的远程处理功能,将 .NET Web 应用与现存 Windows DNA 中间层架构结合起来。
该方案的优点是:无需修改中间层代码。你现在可以关闭所有此前用于 Windows DNA 架构方案的 DCOM 端口,同时获得公共语言运行时(CLR)、Web Forms 和 ASP.NET 性能提升等优势。
要实现此方案(下面所描述的安装执行步骤),需要:
  • 在 Web和应用程序服务器上安装 .NET Framework
  • 在应用程序服务器上创建一个 Web 工程
  • 将 remoting.cfg 文件复制到该 Web 工程的根目录中
  • 将调用方程序集(assembly)复制到新建 Web 架构下的 in 目录下。
  • 修改 Web服务器(客户端)的 web.config 文件以便使用Http/Binary格式。具体细节请参考 .NET Remoting

注意:对于 TCP/Binary,需要 exe 而非 Web 工程,并且这一点在安装说明中没有涉及。

关键点Fitch 和 Mather 7.0 示例使用 HTTP/Binary 而非 HTTP/SOAP。之所以使用 HTTP,是因为需要通过80端口防火墙。之所以 Binary 而非 SOAP 是受性能影响。对于大量的数据,Binary 性能优于 SOAP。因此,如果处理大量数据(例如数组、数据集和数据表),使用 Binary 格式。如果处理小块数据,使用 SOAP 或者 Binary 格式并无多大差别。处理整数型数据亦然。如果远程调用是通过80端口从半可信位置发起,建议使用 SSL和 IPSec 以确保通信的安全。

方案: .NET 与传统系统整合

【NET远程处理】不改变中间层,如何玩转NET远程处理

【NET远程处理】不改变中间层,如何玩转NET远程处理

安装下面的安装过程展示了上图描述的多主机安装案例。
注意:该方案假设数据库安装在一个独立的服务器上。
执行安装:
  • 确保所有的设备上都安装了 .NET Framework.
  • 在 Web 服务器(点击查看单个设备配置方法)上安装 FMStocks7.MSI 或在应用程序集群控制器( Application Center Cluster Controller)上安装 FMStocks7 。
  • 打开命令提示符并更改包含 Fitch 和 Mather 示例的目录。默认目录为:machinename[安装了Visual Studio .NET的驱动盘]:Program FilesMicrosoft Visual Studio .NET 2003Enterprise SamplesFMStocks7。
  • 至此,可以在单个服务器或整个应用程序中心集群上安装 BLL:
单个服务器
  • 在命令提示符上输入:

  • fms.exe deploy RemoteMachine=MachineX Path=c:FMStocks7_GAM Components=GAM
注意:更改参数以便其适合你的配置环境。输入 fms.exe 且不加参数会出现帮助。该过程会将应用程序的 GAM 安装到独立的远程服务器上。
在输入以上命令后,将会看到以下操作:

  • Stopping IIS
  • Creating Directories
  • Generating Configuration files
  • ...
  • Starting IIS
  • Upon completion you should see:
  • Deployment successful
应用程序中心集群
a. 在命令提示符上输入:

  • fms.exe deploy RemoteMachine=MachineX Path=c:FMStocks7_GAM Components=GAM RemoteUser=MachineXjdoe RemotePassword=password Cluster=nnn.nnn.nnn.nnn
注意:仅当在集群上部署时,才会使用集群参数。MachineX 必须作为集群控制器。该一过程会将应用程序的 GAM 安装到应用程序中心集群上。
b. 请验证应用中心是否在应用管理控制台成功部署。在输入上述命令后,将看到以下操作:

  • Stopping IIS
  • Creating Directories
  • Generating Configuration files
  • ...
  • Starting IIS
  • Upon completion you should see:
  • Deployment successful
或者,你可以添加以下命令行以复制程序中心集群中的 Web 主机,正如前面的图像所示:

  • fms.exe replicate
提示:在实际情况中,你可能希望通过其他方式自动化 Web 主机复制过程。例如,一个弹出对话框询问是否需要复制,或者使用管理控制台的管理单元。
c. 启动应用程序并查看其版本号页面,验证安装是否成功。版本页面会显示安装了BLL、DAL 和 GAM 的主机名称。其中 GSM 应该安装在 MachineX 上。
安全要求
Fitch 和 Mather 示例必须安装在具有本地安全策略组 FullTrust 权限的的位置。本地驱动属于具有 FullTrust 权限的「Zone-MyComputer」安全策略组,而网络共享和映射网络驱动器则属于具有 LocalIntranet 权限的「Zone – Intranet」安全策略组。因此,如果你将示例安装到网络共享或者网络驱动器下,就必须给相应位置授予 FullTrust 权限。
  • 右击桌面上的IE浏览器图标,在快捷菜单中选择「属性( Properties)」。
  • 选择「安全(Security)」标签。
  • 将网络共享或映射网络驱动器添加到设备可信站点。
    注意:可信站点属于「Zone–Trusted」安全策略组。默认情况下,该策略组具有 Internet 权限而非 FullTrust 权限。
  • 打开命令提示符并通过以下命令授予可信站点 FullTrust 权限:caspol -chggroup 1.5 FullTrust
OneAPM 助您轻松锁定 .NET 应用性能瓶颈,通过强大的 Trace 记录逐层分析,直至锁定行级问题代码。以用户角度展示系统响应速度,以地域和浏览器维度统计用户使用情况。想阅读更多技术文章,请访问 OneAPM 官方博客

评分

参与人数 1金钱 +3 收起 理由
乔克斯 + 3 感谢LZ对论坛做出的贡献~

查看全部评分

回复 论坛版权

使用道具 举报

乔克斯 发表于 2015-12-17 22:34:54 | 显示全部楼层
不明觉厉,帖子已排版。
jingqia 发表于 2015-12-18 11:37:11 | 显示全部楼层
看着好牛逼的样子
spaceman_3 发表于 2015-12-20 11:41:47 | 显示全部楼层
感谢LZ对论坛做出的贡献~
iHomeSoft 发表于 2015-12-21 11:06:29 | 显示全部楼层
看起来就是高端(流弊)大气(犀利)上档次(看不懂)!
norman33 发表于 2015-12-27 21:52:03 | 显示全部楼层
感谢楼主分享经验
kevin 发表于 2016-1-19 00:30:21 | 显示全部楼层
看起来不错,不过没有看懂,呵呵。。
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-3-29 17:55, Processed in 0.595166 second(s), 35 queries , Gzip On.

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