如何确定SoapMessage位置,服务器或客户端。 [英] How to determine SoapMessage location, server or client.

查看:71
本文介绍了如何确定SoapMessage位置,服务器或客户端。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何确定是否在客户端或服务器端调用传递给 SoapExtenion ProcessMessage 方法的消息?

我看到有 SoapServerMessage SoapClientMessage 类型。查看我的 ProcessMessage 方法:

How do you determine if the message passed to the ProcessMessage method of a SoapExtenion is being called on the client side or server side?

I see that there are SoapServerMessage and SoapClientMessage types. Look at my ProcessMessage method:

        public override void ProcessMessage(SoapMessage message)
        {
            WriteMessageType(message);
            switch (message.Stage)
            {
                 // cases left out intentionally for brevity
            }
        }


如果我输出传递给上述方法的 SoapMessage 的类型,这是我得到的:


If I output the type of SoapMessage being passed to the above method, here is what I get:

System.Web.Services.Protocols.SoapServerMessage
System.Web.Services.Protocols.SoapServerMessage
System.Web.Services.Protocols.SoapServerMessage
System.Web.Services.Protocols.SoapServerMessage


每次为 SoapMessageState 调用 ProcessMessage 方法时,有四行不同的行。所以,我问,如果消息类型始终是 SoapServerMessage ,如何在每个 SoapMessageStage 中分辨代码运行的位置?

Four different lines for each time the ProcessMessage method is called for each SoapMessageState. So, I ask, how can I tell where the code is running during each SoapMessageStage if the message type is always a SoapServerMessage?

Thanks.

推荐答案

如果它是SoapServerMessage,这意味着它从未在客户端调用。
If it's a SoapServerMessage, that means it has never been called on the client side.


这篇关于如何确定SoapMessage位置,服务器或客户端。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆