高级设计问题

由于客户端需要远程类型的类型信息,因此,只是将远程类型库部署在客户端来充当元数据库通常是最简单的方法。然而,许多情况下,您不希望任何客户端具有对该类型实现的访问权。有若干种方法可以解决此问题:

  • 按照单独客户端主题中所述使用 Soapsuds 工具 (Soapsuds.exe) 创建一个单独客户端。

  • 在客户端部署一个仅包含元数据的程序集(此程序集与服务器程序集具有相同的名称和类型信息),并禁用版本检查或者将版本留为空白。

  • 在另一个库中声明一个接口,并且将该库部署到客户端。发布一个实现该接口的服务器类;客户端将能够通过获取该类实现的接口的代理来使用该类。

    备注

    客户端将必须调用 Activator.GetObject 方法来获得代理。调用 new(在 Visual Basic 中为 New)将引发编译时错误;无法创建接口的实例。

  • 为真实类生成一个可远程处理的包装类。发布和部署包装库。客户端将不具有对真实对象的访问权。

请参见

概念

单独客户端

其他资源

高级远程处理