• 如何检测Remote Objects是否部署成功


    How to monitor if Remote Objects have been deployed successfully

     

    在调试.Net Remoting程序时,经常会出现一些莫名其妙的问题,IDE提示的异常信息有时也不一定正确。很多时候都是自己粗心,配置configuration文件上出了问题,包括ClientServer端的配置文件。另外,我感觉.Net Remoting中还有许多陷阱(trap),如前面postingSoapSuds工具的一些不足之处》所提及的,不只这些,还有许多。如果陷入这些trap,而且又不知道的话,就麻烦了,调试半天也不知道问题在哪里。有空的时间,我准备花些时间整理一下.Net Remoting中的trap

     

    言归正传,这里看看如何检测Remote Objects是否部署成功。Remote Objects部署成功是第一步,否则Client端调用Remote Objects肯定会抛异常信息了。因此,如出现异常信息,首先检测Remote Objects是否成功部署在Server端。

     

    下面根据激活类型分两种情况:SAO(服务端激活对象)和CAO(客户端激活对象)。

     

    1SAO对象

    SAO对象而言,比较简单。根据Server端配置文件中<wellknown>节或RemotingConfiguration.RegisterWellKnownServiceType()方法中指定的URL,通过IE浏览器检测,如下所示:

    http://<hostname>:<port>/<ApplicationName>/<URL>?wsdl

    如果IE返回WSDL信息,则显示Remote Objects部署成功。其实只要看到IE有正确返回信息就行了,如果你了解WSDLWeb Services Description Language),可以进一步看看是否调用的Remote Method是否有出现。

     

    需要注意的地方:

    1)如果Remote Objects部署在IIS中,<ApplicationName>则为虚拟目录名称(Virtual Directory Name),并且不要在Web.Config配置文件中设定Application Name。同时Remote ObjectsURL需要以soaprem为后缀名。

    2)如果Remote Objects不是部署在IIS中,则必须在configuration配置文件或者在代码中RemotingConfiguration.Application=”<ApplicationName>”来指定ApplicationName

     

    2CAO对象

    对于CAO对象,和SAO对象不一样。需要如下的URL来测试:

    http://<hostname>:<port>/<ApplicationName>/RemoteActivationService.rem?wsdl

     

    后面是RemoteActivationService.rem,这点和SAO对象不一样。

     

    需要注意的地方:

    1)在调用CAO对象时,需要在Client端的配置文件中<client>节指定Remote Objectsurl属性。如何使用.Net Remoting的配置文件,可以参考《.Net Remoting配置文件的用法》。

     

    Reference:

    1. Ingo Rammer, Advanced .Net Remoting.

    2. Rickie, .Net Remoting配置文件的用法.

     

     

  • 相关阅读:
    JVM调优总结(八)-典型配置举例2
    JVM调优总结(七)-典型配置举例1
    ajax---异步请求对象的属性和方法
    ajax----发送异步请求的步骤
    ajax---获取XMLHttpReuquest 对象
    ajax--参数默认值问题
    ajax--参数映射方式实现阴影效果
    ajax-简单参数方法实现阴影效果
    ajax之阴影效果实现(对象函数方法)
    ajax对象方法的使用
  • 原文地址:https://www.cnblogs.com/rickie/p/50688.html
Copyright © 2020-2023  润新知