迄今为止,所有服务器示例都是运行在自驻留(self-hosted)的.NET 服务器上。自驻留的服务器必 须手动启动。.NET Remoting 服务器也可以在许多其他的应用程序类型中启动。在 Windows 服务中, 服务器可以在系统启动时自动启动,此外,进程可以通过系统账户的证书运行。

  ASP.NET 对.NET Remoting 服务器有一种特殊支持。ASP.NET 可用于自动启动远程服务器。与 可执行的驻留应用程序相反,驻留在 ASP.NET 中的.NET Remoting 在配置时使用不同的文件,但语 法相同。

  为了使用 IIS(Internet Information Server,Internet 信息服务器)和ASP.NET 中的基础结构,必须 创建一个派生自 System.MarshalByRefObject 类的类,该类具有默认的构造函数。不再需要以前为服 务器创建和注册信道所使用的代码;这些代码所做的工作可以由 ASP.NET 运行库完成。此外,也必 须在 Web 服务器上创建一个虚拟目录,该目录映射到保存 Web.config 配置文件的目录上。远程类的 程序集必须驻留在子目录 bin 中。

  可以使用 IIS MMC 配置 Web 服务器上的虚拟目录。选择 Default Web Site 并打开 Action 菜单, 就可以创建一个新的虚拟目录。

  Web 服务器上的 Web.config 配置文件必须放在虚拟网站的主目录中。使用默认的 IIS 配置,将 使用的信道会侦听端口 80:

 <configuration> <system.runtime.remoting> <application> <service> <wellknown mode="SingleCall" type="Wrox.ProCSharp.Remoting.Hello, RemoteHello" objectUri="HelloService.soap" /> </service> </application> </system.runtime.remoting> </configuration> 

  现在,客户端使用下面的配置文件就可以连接到远程对象上。在这里必须指定远程对象的 URL, 这个 URL 包括 Web 服务器 localhost、Web 应用程序的名称 RemoteHello(该名称在创建虚拟网站时 指定)、远程对象 HelloService.soap(在文件 Web.config 中定义)的URI。因为端口号 80 是HTTP 协议 的默认端口,所以不必指定它。不指定<channels>部分表示使用 machine.config 配置文件中延迟加载 的HTTP 信道:

<configuration>
<system.runtime.remoting>
<application>
<client url="http:/localhost/RemoteHello">
<wellknown type="Wrox.ProCSharp.Remoting.Hello, RemoteHello" url="http://localhost/RemoteHello/HelloService.soap" />
</client>
</application>
</system.runtime.remoting>
</configuration>

.NET Remoting 体系结构 之 在 ASP.NET 中驻留远程服务器的更多相关文章

  1. 【转】【SQL SERVER】怎样处理作业中的远程服务器错误(42000)

    (SQL SERVER)怎样处理作业中的远程服务器错误(42000) 问: 1.我创建了一个链接服务器. 2.在两台服务器之间创建了新的SQL用户. 3.编写了访问链接服务器的SQL语句,执行成功. ...

  2. ASP.NET MVC 播放远程服务器上的MP3文件

    问题: 做需求遇到需要播放远程服务器上的MP3音频,使用FTP去获取文件.但是一般都是在页面 <audio> 的src 中直接写文件地址来播放音频.实在不想做临时文件,折腾了半天终于可以通 ...

  3. 从本机IIS中管理 远程服务器 IIS

    有时候,一般情况下,我们对服务器上 IIS 上的管理局限于 使用远程桌面:现在介绍一种,通过  本机 管理管理远程IIS 的方法! 1. 服务器端设置: 服务器管理器 ==>增加角色和功能向导= ...

  4. SQL中添加远程服务器连接

    EXEC sp_addlinkedserver 'Testserver','','SQLOLEDB','192.168.1.221' EXEC sp_addlinkedsrvlogin 'Testse ...

  5. XShell+Xmanager实现在XShell中显示远程服务器的图形界面

    http://blog.csdn.net/linghao00/article/details/8768435

  6. asp.net中获取当前url的方法

    HttpContext.Current.Request.Url.ToString() 并不可靠. 如果当前URL为 http://localhost/search.aspx?user=http://c ...

  7. ASP.NET 中的 Async/Await 简介

    本文转载自MSDN 作者:Stephen Cleary 原文地址:https://msdn.microsoft.com/en-us/magazine/dn802603.aspx 大多数有关 async ...

  8. ASP.NET中进行消息处理(MSMQ) 三(转)

    在本文的前两篇文章里对MSMQ的相关知识点进行了介绍,很多阅读过这前两篇文章的朋友都曾问到过这样一些问题:  1.如何把MSMQ应用到实际的项目中去呢?  2.可不可以介绍一个实际的应用实例?  3. ...

  9. ASP.NET中进行消息处理(MSMQ) 三

    在本文的前两篇文章里对MSMQ的相关知识点进行了介绍,很多阅读过这前两篇文章的朋友都曾问到过这样一些问题:  1.如何把MSMQ应用到实际的项目中去呢?  2.可不可以介绍一个实际的应用实例?  3. ...

随机推荐

  1. String、StringBuilder 与 StringBuffer

    1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们 ...

  2. Webpack--自学笔记

    原文--http://webpack.github.io/docs/tutorials/getting-started/ 什么是webpack? webpack是一个模块打包器.webpack把模块( ...

  3. 使用IntelliJ IDEA 配置Maven(入门)

    1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径   3.配置maven环境变量      ...

  4. a版本冲刺第二天

    队名:Aruba   队员: 黄辉昌 李陈辉 林炳锋 鄢继仁 张秀锋 章  鼎 学号 昨天完成的任务 今天做的任务 明天要做的任务 困难点 体会 408 学习测试文档的编写 看了构建之法的第二章和十三 ...

  5. Android Studio使用

    HelloWorld在虚拟机上正常运行,在红米1S上很抱歉,HelloWorld已停止运行.有时间解决. 在windows下感觉到Android Studio非常慢,急死人.

  6. js 获取据当前时间n天前的时间

    <script type="text/javascript"> function getLastDate() { var date = new Date(); ; va ...

  7. WinForm------GridControl合并单元格

    1.修改GridView的属性 2.点击Run Design修改需要合并的列的属性 3.给GridView添加事件(以上两步不行的情况下再使用此方法) private void gridView1_C ...

  8. C# 访问数据库

    1. 首先引用和生命system.data.sqlClient 2. 使用sqlconnect类链接,sqlcommand类执行SQL命令,最后结果返回给sqlDataReader类或者是其他类 3. ...

  9. (转)理解MySQL——索引与优化

    参考资料:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html ———————————— 全文: 写在前面:索引对查询的速度有着 ...

  10. sqlpuls基本命令

    1.直接敲sqlplus并回车就是启动SQL*PLUS,输入user及password将使用户登陆到缺省的数据库.2.sqlplus user/password@SERVICE_NAME 将连接到指定 ...