獲取WebService的請求信息方法實(shí)例
一個(gè)已經(jīng)寫好的項(xiàng)目中有多個(gè)WebService,由于之前沒有記錄請求信息的,有時(shí)候需要查錯(cuò)等需要找到當(dāng)次的請求信息,所以需要加入記錄請求信息的功能。
首先想到的是在每一個(gè)帶有WebMethod特性的方法里調(diào)用記錄請求信息的方法,這樣可以記錄信息,但是太多帶WebMethod特性的方法了,于是想在全局中攔截并捕獲,于是想到了Global.asax
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) { } }
[WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public string QueryBalance(string username,string password) { if (username == "test" && password == "abcd") { return "1000000"; } else { return "用戶名或密碼錯(cuò)誤"; } }
這里使用了Log4Net將請求信息記錄起來
另一種調(diào)用方式是在另一個(gè)項(xiàng)目中添加了WerService的引用,
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的請求信息方法實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET?Core?6.0?添加?JWT?認(rèn)證和授權(quán)功能
這篇文章主要介紹了ASP.NET?Core?6.0?添加?JWT?認(rèn)證和授權(quán),本文將分別介紹?Authentication(認(rèn)證)?和?Authorization(授權(quán)),通過實(shí)例代碼分別介紹了這兩個(gè)功能,需要的朋友可以參考下2022-04-04Web.config(應(yīng)用程序的配置信息)總結(jié)
Web.config文件是一個(gè)XML文本文件,它用來儲(chǔ)存 ASP.NET Web 應(yīng)用程序的配置信息(如最常用的設(shè)置ASP.NET Web 應(yīng)用程序的身份驗(yàn)證方式),它可以出現(xiàn)在應(yīng)用程序的每一個(gè)目錄中,接下來詳細(xì)介紹一下配置情況,感興趣的朋友可以了解下2013-01-01.net WINFORM的GDI雙緩沖的實(shí)現(xiàn)方法
下面小編就為大家分享一篇.net WINFORM的GDI雙緩沖的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12ASP.NET MVC3 SEO優(yōu)化:利用Routing特性提高站點(diǎn)權(quán)重
這篇文章主要介紹了ASP.NET MVC3 SEO優(yōu)化:利用Routing特性消除多個(gè)路徑指向同一個(gè)Action,從而提高站點(diǎn)權(quán)重,需要的朋友可以參考下。2016-06-06ASP.NET開發(fā)者使用jQuery應(yīng)該了解的幾件事情
如果你是有著APS.NET開發(fā)背景的人員,那么jQuery的幾個(gè)概念建議你應(yīng)該忘掉。像使用其它的framework一樣,你應(yīng)該學(xué)習(xí)一下jQuery的所有語法等約定來讓它更好的為你服務(wù)。2009-09-09asp.net Menu控件+SQLServer實(shí)現(xiàn)動(dòng)態(tài)多級(jí)菜單
asp.net Menu控件+SQLServer實(shí)現(xiàn)動(dòng)態(tài)多級(jí)菜單的代碼,需要的朋友可以參考下。2011-12-12ASP.NET下上傳圖片到數(shù)據(jù)庫,并且讀出圖片的代碼(詳細(xì)版)
上傳圖片到數(shù)據(jù)庫,從數(shù)據(jù)庫的創(chuàng)建到數(shù)據(jù)庫中圖片的現(xiàn)實(shí)都給出了具體的代碼,因?yàn)閍sp.net版本的問題,大家可能需要稍微修改下。2010-07-07KindEditor圖片上傳的Asp.net代碼實(shí)例
KindEditor是一個(gè)不錯(cuò)的網(wǎng)頁在線編輯器,可是它只提供了asp,php,jsp上傳的類,沒有提供Asp.net上傳的類,廢話不多說,下面是ASP.NET的代碼2013-11-11