NET Remoting Server 性能分析及利用Loadrunner进行性能测试的方

2020-02-21 21:28

.NET Remoting Server 性能分析及利用Loadrunner进行性能测试的方案

1概述

.NET Remoting 被誉为管理应用程序域之间的 RPC 的首选技术。应用程序域是公共语言运行库的隔离单元,它们是在进程内创建并运行的。这与 CLR 和非 CLR 托管的进程之间的进程间通信(互操作)不同。后一种类型的 RPC 通信(特别是 Web 上的)一般被认为是 Web 服务领域的问题。遗憾的是,这种看似清楚的区分,却由于可以在 IIS 下集成 .Net Remoting 服务器而变得模糊,“通过在 IIS 中集成 .NET Remoting 对象,可以将其作为一种 |>,jOnGf

Web 服务提供……” -e=;X!oe{

b !=F.|Q

9k

Remoting, 简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融 合到.Net平台下。Microsoft? .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用 程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一 进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。其主机与客户端的主 要任务如下:

L\ ip'af\\JJ ,

Mi,dyZ5

主机任务

=

· 设计服务,选择应用程序域、激活模式、通道、端口和发布。 · 实现 Remoting 主机应用程序域(例如 IIS/系统服务)。 · 配置主机激活、通道和协议设置。建议使用配置文件,可以通过调用 RemotingConfiguration.Configure 加载。 · 发布接口,供客户端使用(有关详细信息,请参阅下文中的“接口发布选择”)。

客户端任务 · 设计客户端,选择应用程序域和激活模式。 · 考虑是否需要注册通道和端口。 · 获取远程类型元数据。 · 实现客户端应用程序域。 · 配置客户端激活模式和其他类型的信息,如应用程序名称、通道和对象 URI 等。建议使用配置文件,可以通过调用 RemotingConfiguration.Configure 加载。

2 Remoting 解决方案的过程中可能会遇到的错误情况

在 任何情况下,都应该记住要使用标准的设备使用和监视方法。事件记录仍是非常有价值的信息资源,就象网络监视器工具一样,网络监视器可以专门用于详细查看客 户端/服务器的 Remoting 会话。中间层的 Remoting 服务器仍可以使用 Visual Studio .NET 提供的标准调试工具进行调试,例如,对于由 IIS 集成的 Remoting 服务器,可以通过向 ASP.NET 辅助进程附加调试会话(Visual Studio .Net | Debug [调试] | Processes [进程] | Attach [附加]) 来设置断点(如果资源可用)。但 Remoting 的错误很独特,下面列出了一些。请注意,所有错误都已使用 .NET Framework SDK 提供的 Basic Remoting Hello Sample 的各版本进行了复现,服务器和客户端也已在单机上运行。故障现象与在网络链接上的相同,只是由于 HTTP/TCP 的超时设置不同,需要相当长的时间才能出现错误。

Km)\$5|

\\6#&\\N&k

C>%dNTEwd

y&+4FC9U-d

T\\Y+`BUHD

0S^[[gnQX>qkN\

~y= /5rXK

5AL/@Xix,| h/-;D>Cd

hhV{!

*

E%li~6?0/6/3

ot YhK^?+

\\7ZOGM NqM?m

9 *v![1r^di-|>6U

yb*~!?dA Hbt-?\\m

W&)gi'

TgR

2.1丢失 MarshalByRef

由 于 Remoting 要通过引用以用于给定的类,该类必须只做一件事,就是继承 MarshalByRefObject。假设开发人员忘记做这项工作,我们将得到一个

System.Runtime.Remoting.RemotingException 类型的异常,说明我们有一个“丢失的 W cl>bPrDkx

<

RS,L

MarshalByReference”. J.`I*:nj':

^LCu

是否能正确捕获和处理这个 RemotingException 将取决于程序员。(想想这个开发人员忘记了他应记住的唯一一件事。) $l:t3-GeW

)Ng&,W$_[

解决方法是:记住继承 MarshalByRefObject!

Dw

2.2众所周知的服务器激活的错误服务器端点

对于服务器激活,Remoting 服务器将其侦听处声明为端点。该端点一般包括一个对象 URI(远程对象的众所周知名称),一个协议和一个端口号。当然,所有这些都可能配置错误。

2.3错误的 URI

由服务提供的 Basic Remoting Hello Sample 的 URI 是 HelloService.soap,如相关的 web.config 文件中所指定:

3DcaIOT}vVs :3#a;~ >u

A[Wll`ny

;b+~Mp

^,kwU5

\MF;~/z\\m2I{

>

U;

;4f]AUn^8

w?gHSu{U?c

HY-0

&Jzw

`U?7Y

C]

FVYT

5,

to

objectUri=\

o - nmLObv427

j`h{H'O0 =U[Zz^X+5!

ys0m


NET Remoting Server 性能分析及利用Loadrunner进行性能测试的方.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省计算机二级C语言试题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: