获取WebService的请求信息方法实例

2025-05-29 0 44

一个已经写好的项目中有多个WebService,由于之前没有记录请求信息的,有时候需要查错等需要找到当次的请求信息,所以需要加入记录请求信息的功能。

首先想到的是在每一个带有WebMethod特性的方法里调用记录请求信息的方法,这样可以记录信息,但是太多带WebMethod特性的方法了,于是想在全局中拦截并捕获,于是想到了Global.asax

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64
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)

{

}

}

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
[WebMethod]

public string HelloWorld()

{

return "Hello World";

}

[WebMethod]

public string QueryBalance(string username,string password)

{

if (username == "test" && password == "abcd")

{

return "1000000";

}

else

{

return "用户名或密码错误";

}

}

这里使用了Log4Net将请求信息记录起来

获取WebService的请求信息方法实例

获取WebService的请求信息方法实例

获取WebService的请求信息方法实例

获取WebService的请求信息方法实例

另一种调用方式是在另一个项目中添加了WerService的引用,

?

1

2

3

4

5

6

7

8
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"));

}

}

获取WebService的请求信息方法实例

获取WebService的请求信息方法实例

以上这篇获取WebService请求信息方法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持快网idc。

原文链接:http://www.cnblogs.com/godbell/archive/2017/11/25/7897038.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 获取WebService的请求信息方法实例 https://www.kuaiidc.com/98976.html

相关文章

发表评论
暂无评论