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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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">防火墙。其方法是在控制面板上选择&ldquo;网络连接&rdquo;项目,打开该项目,在局域网、拨号连接或其他网络类型的属性面板选择&ldquo;高级&rdquo;选项,关闭防火墙。</span><span lang="EN-US">&nbsp;</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 &nbsp;.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>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<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 + -
显示快捷键?