SoapExtension的问题,搞定就结贴
我按照MSDN上的内容写了一个扩展于SoapExtension的类SecurityExtension,这里仅仅只想演示下,把一切的调用都抛异常:
public class SecurityExtension : SoapExtension
{
public SecurityExtension()
{
int i = 0;
i++;
}
public override object GetInitializer(Type serviceType)
{
return null;
}
public override object GetInitializer(LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute)
{
return null;
}
public override void Initialize(object initializer)
{
return;
}
public override void ProcessMessage(SoapMessage message)
{
throw new SoapException();
}
}
然后我在Web.Config里面的system.web下加入:
<webServices>
<soapExtensionTypes>
<add type= "DevelopMentor.Web.Services.SecurityExtension, SecurityExt " priority= "1 " group= "0 " />
</soapExtensionTypes>
</webServices>
按照MSDN这样会使整个虚拟目录都应用该SoapExtension, 那么无论什么请求都应该抛异常,实际却根本没有执行那个processMessage,有人碰到过这种情况吗?
[解决办法]
你做这个有什么用途?
我碰到的问题是web服务端出现异常后,都返回给客户端一个SoapException,
不知道怎么还原回原来我抛出的异常类型。