100165458.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 88 行
HTM
88 行
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
16.1 .NET Remoting的含义
</title></head>
<body>
<div class="area">
<div class="col1">
<div class="lineBlue">
</div>
<!-- title -->
<div class="arcTitle">
<h1>
<a href="../16">
C#高级编程(第3版)【全文连载】
</a>
</h1>
<div style="text-align: center; font-size: 15px">
<a href="100165458.htm">
16.1 .NET Remoting的含义
</a>
</div>
<div style="text-align: center; font-size: 15px">
<a class="url" href="../../default.htm">http://book.csdn.net/</a>
2006-10-13 14:41:00
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165458.htm'><font color='red'>16.1 .NET Remoting的含义</font></a></h1>
<div id="divRelateNode" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165455.htm'>15.6.1 同步的含义</a></div><div style='float:right;width:49%'>·<a href='100165456.htm'>15.6.2 同步问题</a></div><div style='float:left;width:49%'>·<a href='100165457.htm'>15.7 小结</a></div><div style='float:right;width:49%'>·<a href='100165459.htm'>16.1.1 应用程序类型和协议</a></div><div style='float:left;width:49%'>·<a href='100165460.htm'>16.1.2 CLR Object Remoting</a></div><div style='float:right;width:49%'>·<a href='100165461.htm'>16.2 .NET Remoting概述</a></div></div>
</div>
</div>
</div>
<!-- main -->
<div id="main">
<div id="text"> <link href="css.css" rel="stylesheet" type="text/css" /><p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">本章将讨论</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">,它可以用来访问另一个应用程序域</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">例如另一个服务器</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">中的对象<span style="COLOR: black">。</span></span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">还提供了使用</span><span lang="EN-US">SOAP</span><span style="FONT-FAMILY: 宋体">协议调用的对象。最后,</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">为客户机和服务器端的</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">应用程序之间的通信提供了一种更为快速的格式。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">本章将使用</span><span lang="EN-US">HTTP</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">TCP</span><span style="FONT-FAMILY: 宋体">信道、</span><span lang="EN-US">SOAP</span><span style="FONT-FAMILY: 宋体">和二进制格式符开发</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">对象、客户和服务器。首先编程定义信道和格式标识符,之后修改应用程序,以使用配置文件,其中只需要几个</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">方法。本章还编写一些小程序,异步使用</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">,在客户应用程序中调用事件处理程序。</span></p>
<p class="MsoNormal"><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">类位于</span><span lang="EN-US">System.Runtime.Remoting</span><span style="FONT-FAMILY: 宋体">命名空间及其子命名空间中,其中许多类在核心程序集</span><span lang="EN-US">mscorlib</span><span style="FONT-FAMILY: 宋体">中,一些只用于跨网络通信的类在程序集</span><span lang="EN-US">System.Runtime.Remoting</span><span style="FONT-FAMILY: 宋体">中。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">本章讨论的内容包括:</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">概述</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">把具有类似执行要求的对象组合在一起的环境</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">实现一个简单的远程对象、客户和服务器</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">体系结构</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">配置文件</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">在</span><span lang="EN-US">ASP.NET</span><span style="FONT-FAMILY: 宋体">中存储</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">对象</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">使用</span><span lang="EN-US">Soapsuds</span><span style="FONT-FAMILY: 宋体">访问远程对象的元数据</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">异步调用</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">方法</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">在事件的帮助下调用客户端的方法</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt "Times New Roman""> </span></span><span style="FONT-FAMILY: 宋体">使用</span><span lang="EN-US">CallContext</span><span style="FONT-FAMILY: 宋体">自动把数据传送给服务器</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">首先阐述</span><span lang="EN-US" style="COLOR: black">.NET Remoting</span><span style="COLOR: black; FONT-FAMILY: 宋体">的含义。</span></p>
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="FONT-FAMILY: 黑体">提示:</span></p>
<p class="a1" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 10.7pt; MARGIN-RIGHT: 0cm; FTEL: 10.7pt"><span style="COLOR: black; FONT-FAMILY: 楷体_GB2312">如果使用</span><span lang="EN-US" style="COLOR: black">Windows XP</span><span style="COLOR: black; FONT-FAMILY: 楷体_GB2312">启动客户和服务器应用程序,就必须关闭本地</span><span lang="EN-US" style="COLOR: black">Windows XP</span><span style="COLOR: black; FONT-FAMILY: 楷体_GB2312">防火墙。其方法是在控制面板上选择“网络连接”项目,打开该项目,在局域网、拨号连接或其他网络类型的属性面板选择“高级”选项,关闭防火墙。</span><span lang="EN-US"> </span></p>
<h3 style="MARGIN-TOP: 11.4pt; MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; FTEL: 11.4pt"><a ftel="_Toc507815542"><span lang="EN-US">16.1 .NET Remoting</span></a><span style="FONT-FAMILY: 楷体_GB2312">的含义</span></h3>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">许多应用程序都不是运行在一个系统上的独立应用程序,但它们都使用网络通信技术调用远程服务器上的方法。此时就要使用</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">了。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">对于客户和服务器应用程序之间的通信,可以使用不同的技术。可以使用套接字编写应用程序,或使用</span><span lang="EN-US">System.Net</span><span style="FONT-FAMILY: 宋体">命名空间中的一些帮助类,以易于处理协议、</span><span lang="EN-US">IP</span><span style="FONT-FAMILY: 宋体">地址和端口号</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">详见第</span><span lang="EN-US">31</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。使用这个技术总是必须通过网络发送数据。所发送的数据可以是自己的定制协议,由服务器解释数据包,这样服务器就知道应调用什么方法。我们不仅需要处理发送的数据,还需要自己创建线程。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">我们可以在服务器应用程序上通过网络调用方法,而不是发送数据。这就是</span><span lang="EN-US">XML Web</span><span style="FONT-FAMILY: 宋体">服务和</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">的目标。</span><span lang="EN-US">XML Web</span><span style="FONT-FAMILY: 宋体">服务使用</span><span lang="EN-US">SOAP</span><span style="FONT-FAMILY: 宋体">协议确保不同平台之间的交互操作性,而</span><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">有不同的目标。</span></p>
<p class="MsoNormal"><span lang="EN-US">.NET Remoting</span><span style="FONT-FAMILY: 宋体">的目标可以用应用程序类型和所提供的协议来描述,还可以通过</span><span lang="EN-US" style="COLOR: black">CLR Object Remoting</span><span style="COLOR: black; FONT-FAMILY: 宋体">来描述。</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100165457.htm">上一页</a> <a href="index.html">首页</a> <a href="100165459.htm">下一页</a>
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165458.htm'><font color='red'>16.1 .NET Remoting的含义</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165455.htm'>15.6.1 同步的含义</a></div><div style='float:right;width:49%'>·<a href='100165456.htm'>15.6.2 同步问题</a></div><div style='float:left;width:49%'>·<a href='100165457.htm'>15.7 小结</a></div><div style='float:right;width:49%'>·<a href='100165459.htm'>16.1.1 应用程序类型和协议</a></div><div style='float:left;width:49%'>·<a href='100165460.htm'>16.1.2 CLR Object Remoting</a></div><div style='float:right;width:49%'>·<a href='100165461.htm'>16.2 .NET Remoting概述</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?