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中的代码,如下图所示:

        

 


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArchLinux学习之环境变量

2019独角兽企业重金招聘Python工程师标准>>> 使得刚修改的环境变量生效&#xff1a;source <带环境变量的文件> 查看环境变量&#xff1a; env 或 set 持久化的环境变量主要存在于这几个文件中&#xff1a; /etc/profile/etc/environment~/.bash_profile~/.b…

ASP.NET Web API中的返回值

本文将Web API中常用的返回值罗列了一下&#xff0c;如需要进一步详细了解&#xff0c;请点击这篇文章 返回值继承接口描述void无返回http状态码204&#xff0c;告诉客户端此请求没有返回值Json<T>(T content)IHttpActionResult返回某种类型的Json字符串OkIHttpActionRe…

精通ASP.NET MVC ——属性路由

在上一篇文章中&#xff0c;有约定路由的介绍。MVC 5中增加了对属性路由这一新技术的支持。在属性路由中&#xff0c;路由是由直接运用于控制器的C#属性定义的。 启动和运用属性路由 默认情况下属性路由是禁止的&#xff0c;通过MapMvcAttributeRoutes扩展方法可以启用它。该…

ntp的一个小错误

[rootlocalhost ~]# ntpdate 10.128.14.25 3 Apr 21:05:05 ntpdate[1506]: the NTP socket is in use, exiting 收到此错误消息的原因是由于 xntpd 已经绑定到了该 Socket。运行 ntpdate 时&#xff0c;它会首先进行广播&#xff0c;然后侦听端口 123。如果 xntpd 正在运行&am…

ASP.NET MVC 阻止通过URL访问服务器上的静态资源文件

背景 在默认情况下&#xff0c;MVC框架是支持对服务器静态资源的访问的&#xff0c;我们在项目根目录下新建一个Content文件夹&#xff0c;然后添加一个命名为“StaticContent.html”的html文件&#xff0c;如下图所示&#xff1a; StaticContent.html中的代码如下图所示&…

怀念一下过去的人和事

年轻的时候&#xff0c;有大把的时间可以胡折腾。现在这人已经成了过去了&#xff0c;只生存在另一个平行空间了&#xff0c;也许在另外的空间里&#xff0c;另一个我还每天弹着重金属&#xff0c;喝酒吃肉。昔人已抱吉他去&#xff0c;此地空余效果器。现在廉颇老矣&#xff0…

linux 调优 网络调优

1 UDP buffer size sysctl -a 接收 net.core.rmem_default (默认)net.core.rmem_max (最大)发送 net.core.wmem_default (默认)net.core.wmem_default &#xff08;最大&#xff09;2 TCPbuffer sizesysctl -a net.ipv4.tcp_mem 最小 合理 最大&…

精通ASP.NET MVC——控制器和动作

在MVC框架中&#xff0c;控制器必须实现System.Web.Mvc命名空间的IController接口&#xff0c;如下图所示&#xff1a; //// 摘要:// 定义控制器所需的方法。public interface IController{//// 摘要:// 执行指定的请求上下文。//// 参数:// requestContext:// 请…

精通ASP.NET MVC ——视图

文章非常长&#xff0c;仅仅用于记录自己学习。 创建自定义视图引擎 创建自定义视图引擎的价值是&#xff0c;演示请求处理管道如何工作&#xff0c;并完善关于MVC架构如何操作的知识&#xff0c;视图引擎实现IViewEngine接口&#xff0c;如下图所示&#xff1a; public inte…

使用列表选择框控件

本例使用列表选择框控件,并向其中添加删除列表项&#xff0c;程序运行如下图所示。 程序代码如下。 using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace eg38_checklistBoxApp {public partial class Form1 : Form…

精通ASP.NET MVC ——辅助器方法

辅助器方法(Helper Method)&#xff0c;其作用是对代码块和标记进行打包&#xff0c;以便能够在整个MVC框架应用程序中重用。 首先新建一个项目&#xff0c;添加一个Home控制器&#xff0c;如下图所示&#xff1a; public class HomeController : Controller{// GET: Homepubli…

用css3制作旋转加载动画的几种方法

以WebKit为核心的浏览器&#xff0c;例如Safari和Chrome&#xff0c;对html5有着很好的支持&#xff0c;在移动平台中这两个浏览器对应的就是IOS和Android。最近在开发一个移动平台的web app&#xff0c;那么就有机会利用css3去实现一些很酷的效果&#xff0c;这些效果原来更多…

精通ASP.NET MVC ——模型绑定

模型绑定&#xff08;Model Binding&#xff09;是指&#xff0c;用浏览器以Http请求方式发送的数据来创建.Net对象的过程。 准备示例项目 新建一个空的MVC项目&#xff0c;名叫MvcModels&#xff0c;接下去会以此项目来演示各种功能。 在Models文件夹中创建一个Person.cs类…

C# 数据库连接池 线程安全 单例模式 的实现

本文介绍3种线程安全模式 1&#xff0c;lock 2&#xff0c;Mutex 3&#xff0c;MethodImpl 以前写的一个MYSQL数据库连接池ConnectionPool.CS using System; using System.Collections.Generic; using System.Linq; using System.Text;using System.IO; using System.Threading…

精通ASP.NET MVC ——模型验证

文章内容较长&#xff0c;用于记录自己学习。模型验证&#xff08;Model Vaildation&#xff09;是确保应用程序所接受的数据适合于绑定到模型&#xff0c;并且在不合适时给用户提供有用的信息&#xff0c;以帮助他们修正问题的过程。 准备示例项目 新建一个空的MVC项目&…

[wbia 2.2] 对检索结果进行评估

评估对检索系统的性能&#xff1a; 由于我们这里的检索结果&#xff0c;是主要根据PageRank的排名&#xff0c;以及Lucene对文本的分词和相关性计算的最后得分&#xff0c;进行权值调整后得到的排名结果。 这里对我们检索系统的进行性能评估&#xff0c;这里主要评估的是检索结…

错误175:具有固定名称MySql.Data.MySqlClient的ADO.NET提供程序未在计算机或者应用程序配置文件中注册或者无法加载

背景&#xff1a; EF连接MySQL时报错&#xff0c;截图如下图所示&#xff1a; 网上翻阅了很多资料&#xff0c;感觉有一篇文章说的比较靠谱&#xff1a;点击阅读。解决问题的大致过程如下&#xff1a; 在尝试使用MySQL&#xff0c;ADO.NET&#xff08;数据库优先&#xff09;和…

防止刷票方法大全

1. IP限制 这是使用的最多&#xff0c;也是最广泛&#xff0c;不可少的刷票限制。而且由于专题都没有用户模块&#xff0c;使得这个方法&#xff0c;几乎成了唯一可行的手段。该方式&#xff0c;通过获取访问游客的IP地址&#xff0c;来限制其在一段时间内所能使用的票数。当然…

精通ASP.NET MVC ——URL和Ajax辅助器方法

Ajax(或者&#xff0c;如果你愿意&#xff0c;也可以称为AJAX)是 Asynchronous JavaScripts and XML(异步JavaScripts与XML)。其XML部分并不如它往常那样意义重大&#xff0c;但是异步部分却使AJax十分有用。这是后台请求服务器数据&#xff0c;而不必重载Web页面的一种模型。M…

九把巨剑,为什么会从天而降?

在那记忆的残片之中&#xff0c;他看到了九把巨剑从天而降的壮阔画面&#xff0c;还听到了长袍剑客对自己的嘱托。 九把巨剑&#xff0c;为什么会从天而降&#xff1f;这当中&#xff0c;究竟有何寓意&#xff1f; 那个长袍剑客&#xff0c;究竟又是什么人&#xff1f; 没有答案…