spring.net 1.1.0 P3版本 中spring.core.dll 1.1.0.2版本对于AOP使用ADVICE中涉及使用ref/out参数的小问题

在我们用.net2.0开发的web service中,发生了这样一个奇怪的问题:
我们用xmlspy对web service进行测试,有一个web method,发出soap请求后,总是返回空的响应,代码跟踪进去,总是抛出"System.ExeutionEngineException"的异常。为了达成AOP的目的,在web method中调用的其他的类,使用了spring.net来初始化另外一些类的实例,通过配置文件来管理对象之间的关系。其他web method中的调用,也是这样通过spring.net完成的对一些类的实例的初始化,但是这个空响应的问题,只在上述的那个web method中发生,经过仔细观察和调试,发现其中调用其他类的方法参数中,有一个是带有ref关键字的,也就是对值类型进行了引用传递,怀疑是这个ref引发的问题。通过搜索和实验,的确如此,并在spring的论坛上搜到如下参考:http://forum.springframework.net/showthread.php?p=6961 ,
其中提出两种解决方案:
1、不使用ref参数,而是通过class来传递;
2、下载最新的nightly build,其中已经解决该bug
根据我们的实际情况,通过重构方法签名,将ref的参数改为使用class,解决该问题。

posted on 2007-05-10 14:57  小熊bryan  阅读(371)  评论(0编辑  收藏  举报