100165479.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 136 行 · 第 1/2 页
HTM
136 行
<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"><service></span><span style="FONT-FAMILY: 宋体">用于指定远程对象的集合。这个元素有两个子元素</span><span lang="EN-US"><wellknown></span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"><activated></span><span style="FONT-FAMILY: 宋体">,用于指定远程对象的类型</span><span lang="EN-US">(wellknown</span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US">client-activated)</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"><service></span><span style="FONT-FAMILY: 宋体">元素的客户部分是</span><span lang="EN-US"><client></span><span style="FONT-FAMILY: 宋体">。与</span><span lang="EN-US"><service></span><span style="FONT-FAMILY: 宋体">元素类似,</span><span lang="EN-US"><client></span><span style="FONT-FAMILY: 宋体">元素也有两个子元素</span><span lang="EN-US"><wellknown></span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"><activated></span><span style="FONT-FAMILY: 宋体">,也用于指定远程对象的类型。但是与</span><span lang="EN-US"><service></span><span style="FONT-FAMILY: 宋体">元素的两个子元素不同的是,</span><span lang="EN-US"><client></span><span style="FONT-FAMILY: 宋体">元素还有一个</span><span lang="EN-US">url</span><span style="FONT-FAMILY: 宋体">特性,用于指定远程对象的</span><span lang="EN-US">URL</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="1" style="MARGIN-LEFT: 38.15pt; FTEL: -16.7pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt">元素</span><span lang="EN-US" style="LETTER-SPACING: 0.2pt"><wellknown></span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt">用在服务器和客户机上,指定知名的远程对象。服务器的部分如下所示:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> <wellknown mode="SingleCall"</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> type="Wrox.ProCSharp.Remoting.Hello, RemoteHello"</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> objectURI="Hi" /></span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">当特性</span><span lang="EN-US" style="COLOR: black">mode</span><span style="COLOR: black; FONT-FAMILY: 宋体">的值为</span><span lang="EN-US" style="COLOR: black">SingleCall</span><span style="COLOR: black; FONT-FAMILY: 宋体">或</span><span lang="EN-US" style="COLOR: black">Singleton</span><span style="COLOR: black; FONT-FAMILY: 宋体">时,特性</span><span lang="EN-US" style="COLOR: black">type</span><span style="COLOR: black; FONT-FAMILY: 宋体">的值就是远程对象的类型,其值包括命名空间</span><span lang="EN-US" style="COLOR: black">Wrox.ProfessionalCSharp.Hello</span><span style="COLOR: black; FONT-FAMILY: 宋体">、程序集名称</span><span lang="EN-US" style="COLOR: black">RemoteHello</span><span style="COLOR: black; FONT-FAMILY: 宋体">。</span><span lang="EN-US" style="COLOR: black">objectURI</span><span style="COLOR: black; FONT-FAMILY: 宋体">是在信道中注册的远程对象名称。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">在客户端,特性</span><span lang="EN-US" style="COLOR: black">type</span><span style="COLOR: black; FONT-FAMILY: 宋体">和在服务器上的相同。但是在客户端不需要使用特性</span><span lang="EN-US" style="COLOR: black">mode</span><span style="COLOR: black; FONT-FAMILY: 宋体">和</span><span lang="EN-US" style="COLOR: black">objectURL</span><span style="COLOR: black; FONT-FAMILY: 宋体">,而是需要使用属性</span><span lang="EN-US" style="COLOR: black">url</span><span style="COLOR: black; FONT-FAMILY: 宋体">定义远程对象的路径:即协议、主机名、端口号、应用程序名称以及对象的</span><span lang="EN-US" style="COLOR: black">URI</span><span style="COLOR: black; FONT-FAMILY: 宋体">。</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> <wellknown type="Wrox.ProCSharp.Remoting.Hello, RemoteHello" </span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> url="tcp://localhost:6791/Hello/Hi" /></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"><activated></span><span style="FONT-FAMILY: 宋体">用于客户激活的对象。必须使用特性</span><span lang="EN-US">type</span><span style="FONT-FAMILY: 宋体">为客户机和服务器应用程序定义类型和程序集:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US" style="COLOR: black"> <activated type="Wrox.ProCSharp.Remoting.Hello, RemoteHello" /></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"><channel></span><span style="FONT-FAMILY: 宋体">可以指定信道。</span><span lang="EN-US"><channel></span><span style="FONT-FAMILY: 宋体">是元素</span><span lang="EN-US"><channels></span><span style="FONT-FAMILY: 宋体">的子元素,目的是为单个的应用程序配置信道集合。在客户机和服务器上,元素</span><span lang="EN-US"><channel></span><span style="FONT-FAMILY: 宋体">的使用方法是相似的。使用</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">特性</span><span lang="EN-US">ref</span><span style="FONT-FAMILY: 宋体">可以引用一个在配置文件</span><span lang="EN-US">machine.config</span><span style="FONT-FAMILY: 宋体">中配置的信道名称,后面将详细讨论这个文件。对于服务器信道,必须用</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">特性</span><span lang="EN-US">port</span><span style="FONT-FAMILY: 宋体">设置<span style="LETTER-SPACING: -0.1pt">端口号</span>,</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">特性</span><span lang="EN-US">displayName</span><span style="FONT-FAMILY: 宋体">用于指定在</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">.NET Framework Configuration</span><span style="FONT-FAMILY: 宋体">工具中使用的信道名称,如后面所述:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> <channels> </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> <channel ref="tcp" port="6791" displayFTEL="TCP Channel" /></span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> <channel ref="http" port="6792" displayFTEL="HTTP Channel" /></span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> </channels></span></p>
<h4 style="FTEL: 21.45pt"><span lang="EN-US">1. machine.config</span><span style="FONT-FAMILY: 黑体">中预定义的信道</span></h4>
<p class="MsoNormal" style="LINE-HEIGHT: 17pt"><span style="COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: -0.3pt">在</span><span lang="EN-US" style="COLOR: black; LETTER-SPACING: -0.3pt">machine.config</span><span style="COLOR: black; FONT-FAMILY: 宋体; LETTER-SPACING: -0.3pt">配置文件中,可以在目录</span><span lang="EN-US" style="LETTER-SPACING: -0.3pt"><windir>\Microsoft.NET\Framework\<version>\CONFIG</span><span style="FONT-FAMILY: 宋体">中找到<span style="COLOR: black">预定义的信道</span>,这些信道可以在应用程序中使用,也可以自己指定信道类。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 17pt"><span style="FONT-FAMILY: 宋体">在下面的</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">文件中,摘录了一个</span><span lang="EN-US" style="COLOR: black">machine.config</span><span style="COLOR: black; FONT-FAMILY: 宋体">文件,其中显示了预定义的信道。</span><span lang="EN-US"><channel></span><span style="FONT-FAMILY: 宋体">元素用作</span><span lang="EN-US"><channels></span><span style="FONT-FAMILY: 宋体">的一个子元素,以定义信道。<span style="COLOR: black">特</span>性</span><span lang="EN-US">id</span><span style="FONT-FAMILY: 宋体">指定可以用</span><span lang="EN-US">ref</span><span style="FONT-FAMILY: 宋体">特性引用的信道名称。</span><span lang="EN-US">type</span><span style="FONT-FAMILY: 宋体">特性可以指定信道类和程序集;例如,信道类</span><span lang="EN-US">System.Runtime.Remoting. Channels.Http.HttpChannel</span><span style="FONT-FAMILY: 宋体">在程序集</span><span lang="EN-US">System.Runtime.Remoting</span><span style="FONT-FAMILY: 宋体">中。因为程序集</span><span lang="EN-US">System.Runtime. Remoting</span><span style="FONT-FAMILY: 宋体">是共享的,所以程序集的强名称就必须用</span><span lang="EN-US">Version</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">Culture</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">PublicKeyToken</span><span style="FONT-FAMILY: 宋体">来指定。</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"><system.runtime.remoting></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> <!-- ... --></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> <channels></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> PublicKeyToken=b77a5c561934e089"/></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US"> <channel id="http client" </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> PublicKeyToken=b77a5c561934e089"/></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> <channel id="http server" </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> PublicKeyToken=b77a5c561934e089"/></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> PublicKeyToken=b77a5c561934e089"/></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> <channel id="tcp client" </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> PublicKeyToken=b77a5c561934e089"/></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> <channel id="tcp server" </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> PublicKeyToken=b77a5c561934e089"/></span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> </channels> </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> <!-- ... --></span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"><system.runtime.remoting></span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100165478.htm">上一页</a> <a href="index.html">首页</a> <a href="100165480.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='100165479.htm'><font color='red'>16.6.1 配置文件(1)</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165476.htm'>16.5.6 在远程方法中传递对象</a></div><div style='float:right;width:49%'>·<a href='100165477.htm'>16.5.7 生存期管理</a></div><div style='float:left;width:49%'>·<a href='100165478.htm'>16.6 .NET Remoting的其他特性</a></div><div style='float:right;width:49%'>·<a href='100165480.htm'>16.6.1 配置文件(2)</a></div><div style='float:left;width:49%'>·<a href='100165481.htm'>16.6.2 驻留应用程序</a></div><div style='float:right;width:49%'>·<a href='100165482.htm'>16.6.3 类、接口和Soapsuds</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?