.NET 远程处理:应用程序托管、异步调用与事件处理
1. 应用程序托管
在之前的示例中,服务器都是在自托管的 .NET 服务器中运行,自托管服务器需要手动启动。但 .NET 远程处理服务器也可以在多种其他应用程序类型中启动。例如,在 Windows 服务中,服务器可以在启动时自动启动,并且该进程可以使用系统账户的凭据运行。
2. 在 ASP.NET 中托管远程服务器
ASP.NET 对 .NET 远程处理服务器有特殊支持,可用于远程服务器的自动启动。与 EXE 托管的应用程序不同,ASP.NET 托管的远程处理使用不同的配置文件,但语法相同。
操作步骤如下:
1. 创建一个继承自 System.MarshalByRefObject
并具有默认构造函数的类。
2. 在 Web 服务器上创建一个虚拟目录,将配置文件 web.config
放入该目录对应的物理目录中。远程类的程序集必须放在 bin
子目录中。可以使用 Internet Information Services MMC 来配置 Web 服务器上的虚拟目录,选择默认网站并打开操作菜单创建新的虚拟目录。
3. Web 服务器上的配置文件 web.config
必须放在虚拟网站的主目录中。默认的 IIS 配置下,使用的通道监听端口 80。示例配置文件如下:
<configuration>
<system.runtime.remoting>
<appl