C#调试WebService
簡單調試
1、首先,新建一個WebService項目用于測試,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?2、項目會默認生成一個Hello方法,但是由于Hello方法太簡單,添加一個Add方法用于計算兩個整數之和,如下圖所示:
[WebMethod]public string HelloWorld(){return "Hello World";}[WebMethod]public int Add(int a, int b) => a + b;3、右鍵點擊 WebService1.asmx ,選擇 “在瀏覽器中查看” 這一選項。?如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
4、在瀏覽器運行的網頁中,選擇“Add”方法。?如下圖所示:
?
?
5、點擊“Add”方法,輸入兩個參數,點擊調試,即可。?
? ? ? ? ? ? ? ? ? ? ? ??
?
6、結果如下圖所示:?
在其他項目中調試?
以上調試存在一個問題,無法直接調試WebService中的代碼,如何WebService中的代碼報錯,只能返回報錯結果。無法跟蹤定位到具體代碼。如下圖中的MyTest()方法,邏輯復雜,代碼量大,很有可能在某一段報錯:
public class WebService1 : System.Web.Services.WebService{[WebMethod]public string HelloWorld(){return "Hello World";}[WebMethod]public int Add(int a, int b) => a + b;[WebMethod]public Z_SRM_PO_D_CRTResponse MyTest(){ServiceReference1.ZSRMPODCRTClient client = new ServiceReference1.ZSRMPODCRTClient();ServiceReference1.ZSSRMPOPRHEADER header = new ZSSRMPOPRHEADER();header.BUKRS = "1001";header.DOWNPAY_AMOUNT = 0m;header.DOWNPAY_DUEDATE = "";header.DOWNPAY_PERCENT = 0m;header.DOWNPAY_TYPE = "";header.QDTEXT = "";header.EKGRP = "119";header.EKORG = "1000";header.JZTEXT = "";header.LIFNR = "10000016";header.WAERS = "CNY";header.ZTERM = "0001";ZSSRMPOPRITEM item = new ZSSRMPOPRITEM();item.EINDT = "2019-07-20";item.ITEM_CAT = "";item.MATNR = "20008966";item.MEINS = "EA";item.MENGE = 40m;item.MWSKZ = "JA";item.NETPR = 40m;item.OVER_DLV_TOL = 0m;item.PEINH = 1m;item.PREQ_ITEM = "";item.PREQ_NO = "";item.STGE_LOC = "";item.UNDER_DLV_TOL = 0m;item.WERKS = "1101";ServiceReference1.ZSSRMPOPRITEM [] items = new ZSSRMPOPRITEM[] { item };ServiceReference1.Z_SRM_PO_D_CRT cat = new ServiceReference1.Z_SRM_PO_D_CRT();cat.ET_ITEM = items;cat.T_DATA = header;cat.TKTEXT = "";Z_SRM_PO_D_CRTResponse reponse = client.Z_SRM_PO_D_CRT(cat);return reponse;}}?
?
1、新建一個Winform項目,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2、在Winform項目中?,引用WebService,如下圖所示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
3、在Winform項目中,加入調試代碼,如下圖所示:
private void button1_Click(object sender, EventArgs e){ServiceReference1.WebService1SoapClient client = new ServiceReference1.WebService1SoapClient();var result = client.MyTest();}?
4、選擇WebService項目,右鍵選擇“調試”?,“啟動新實例”,如下圖所示:
5、在URL輸入 直接運行?WebService1.asmx 后的調試地址,如下圖所示:
6、以同樣的方法,選擇Winform項目,右鍵“調試”,然后選擇“啟動新實例”,運行WinForm項目,然后在WebService中打上斷點,?便可調試WebService中的代碼,如下圖所示:
? ? ? ??
?
?
?
總結
以上是生活随笔為你收集整理的C#调试WebService的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求1+2+3+……+100的累加和。
- 下一篇: 想要入坑机器学习?这是MIT在读博士的A