赢得WebService的呼吁信息。获取WebService的伸手信息。

一个就勾勒好之路中发出多单WebService,由于之前从未记录请求信息的,有时候要查错等得找到当次底呼吁信息,所以待进入记录请求信息的力量。

一个早已勾勒好之项目蒙产生多单WebService,由于事先从没记录请求信息之,有时候需要查错等需要找到当次的呼吁信息,所以待在记录请求信息的效用。

先是想到的是以各级一个蕴含WebMethod特性的道里调用记录请求信息的措施,这样可记录信息,但是太多带WebMethod特性的不二法门了,于是想当大局中截留并抓获,于是想到了Global.asax

首先想到的是于每一个含有WebMethod特性的主意里调用记录请求信息之法门,这样可记下信息,但是绝多带WebMethod特性的方了,于是想当大局中截留并抓获,于是想到了Global.asax

 

 

图片 1图片 2

图片 3图片 4

public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {

        }

        protected void Session_Start(object sender, EventArgs e)
        {

        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            if (Request != null)
            {
                try
                {
                    if (".asmx".Equals(Request.CurrentExecutionFilePathExtension,StringComparison.OrdinalIgnoreCase) && Request.ContentLength > 0)
                    {
                        using (MemoryStream ms = new MemoryStream())
                        {
                            Request.InputStream.CopyTo(ms);
                            ms.Position = 0;
                            using (StreamReader reader = new StreamReader(ms))
                            {
                                LogHelper.Info(reader.ReadToEnd());
                            }
                        }

                    }

                }
                catch (Exception)
                {
                }
                finally
                {
                    Request.InputStream.Position = 0;
                }
            }
        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {

        }

        protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
    }
public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {

        }

        protected void Session_Start(object sender, EventArgs e)
        {

        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            if (Request != null)
            {
                try
                {
                    if (".asmx".Equals(Request.CurrentExecutionFilePathExtension,StringComparison.OrdinalIgnoreCase) && Request.ContentLength > 0)
                    {
                        using (MemoryStream ms = new MemoryStream())
                        {
                            Request.InputStream.CopyTo(ms);
                            ms.Position = 0;
                            using (StreamReader reader = new StreamReader(ms))
                            {
                                LogHelper.Info(reader.ReadToEnd());
                            }
                        }

                    }

                }
                catch (Exception)
                {
                }
                finally
                {
                    Request.InputStream.Position = 0;
                }
            }
        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {

        }

        protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
    }

View Code

View Code

 

 

 

 

图片 5图片 6

图片 7图片 8

[WebMethod]
public string HelloWorld()
{
    return "Hello World";
}
[WebMethod]
public string QueryBalance(string username,string password)
{
    if (username == "test" && password == "abcd")
    {
        return "1000000";
    }
    else
    {
        return "用户名或密码错误";
    }
}
[WebMethod]
public string HelloWorld()
{
    return "Hello World";
}
[WebMethod]
public string QueryBalance(string username,string password)
{
    if (username == "test" && password == "abcd")
    {
        return "1000000";
    }
    else
    {
        return "用户名或密码错误";
    }
}

View
Code

View
Code

此处用了Log4Net将呼吁信息记录起来

此运用了Log4Net将请求信息记录起来

图片 9

图片 10

图片 11

图片 12

 图片 13

 图片 14

 

 

图片 15

图片 16

其余一样栽调用方式是于另一个种类蒙补充加了WerService的援,

外一样种植调用方式是在其他一个门类被上加了WerService的援,

图片 17图片 18

图片 19图片 20

public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            TestWebServiceSoapClient client = new TestWebServiceSoapClient();
            Response.Write(client.QueryBalance("test","abcd"));
        }
    }
public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            TestWebServiceSoapClient client = new TestWebServiceSoapClient();
            Response.Write(client.QueryBalance("test","abcd"));
        }
    }

View
Code

View
Code

 

 

图片 21

图片 22

 

 

图片 23

图片 24