通过打断点调试本地服务程序
2014-12-11 17:14
405 查看
这几天被一个统一登录服务困扰着,折腾了好几次,最后还是得真正打断点进到服务代码才能找到错误的根源。之前浪费了不少时间。终于承认,找错误还是要找到根源上,而不是不断地假设问题所在点。当试了几个假设可能有问题的点的时候,还没有找到解决方法,这是深究到代码里面才是王道。
问题大致描述如下:现在有两个项目,一个lib,用作统一登录,一个文件系统(后面成为子系统),用作登陆后的菜单链接项目。他们之间有一个统一登录服务,即,在lib中登陆了,在子系统中是不需要再次登陆的,他们之间通过统一登录服务共享登陆信息。 问题出在lib登陆后进入index.aspx页面,同时调用了子系统的显示公告板页面。之前index.aspx不显示这个公告板的时候,是没有登陆丢失的问题的。现在会有登陆丢失。
其实这里已经找到原因了。一定是跟那个显示公告板有关系的。最后我在VS中运行服务项目,断点进去,发现token会在第三次的时候丢失,我才恍然明白,是lib的index.aspx页面增加了显示公告板的原因。子项目的显示公告板页面继承了BasePageExt.cs,该类中会判断当前是否有登陆信息。登录信息是通过lib请求子项目的地址连中加入参数ck,ck中保留登陆信息传给统一登录服务,子系统再调用服务,获取登陆信息的。而我现在并没有给显示公告页面传ck参数。所以一直报登陆丢失。至此我就明白了,搜噶。
现在说说怎么在VS运行本地服务,让断点进到服务里面吧。
说明:服务是本地VS程序,lib和子系统采用服务器上的。为了让断点进入服务,所以服务不能发布到本地的IIS,而是在VS上跑。
操作:(1)右击服务项目->"属性"->
注:为了实现在本地调试服务,所以要把端口号去掉,改用本地IIS服务的方式启动。这点很关键,要不然没法发在服务器上调用本机服务。
(2)把服务器上的lib项目和子项目的web.config的服务调用改成本机的:<add key="loginservice" value="http://171.186.109.56/AuthoriseService/Authorise.asmx" />
171.186.109.56是本机的以太网IP,且服务器能ping通
(3)运行lib项目,输入用户名和密码,登陆。然后就能进入到服务打的断点了。
问题大致描述如下:现在有两个项目,一个lib,用作统一登录,一个文件系统(后面成为子系统),用作登陆后的菜单链接项目。他们之间有一个统一登录服务,即,在lib中登陆了,在子系统中是不需要再次登陆的,他们之间通过统一登录服务共享登陆信息。 问题出在lib登陆后进入index.aspx页面,同时调用了子系统的显示公告板页面。之前index.aspx不显示这个公告板的时候,是没有登陆丢失的问题的。现在会有登陆丢失。
其实这里已经找到原因了。一定是跟那个显示公告板有关系的。最后我在VS中运行服务项目,断点进去,发现token会在第三次的时候丢失,我才恍然明白,是lib的index.aspx页面增加了显示公告板的原因。子项目的显示公告板页面继承了BasePageExt.cs,该类中会判断当前是否有登陆信息。登录信息是通过lib请求子项目的地址连中加入参数ck,ck中保留登陆信息传给统一登录服务,子系统再调用服务,获取登陆信息的。而我现在并没有给显示公告页面传ck参数。所以一直报登陆丢失。至此我就明白了,搜噶。
现在说说怎么在VS运行本地服务,让断点进到服务里面吧。
说明:服务是本地VS程序,lib和子系统采用服务器上的。为了让断点进入服务,所以服务不能发布到本地的IIS,而是在VS上跑。
操作:(1)右击服务项目->"属性"->
注:为了实现在本地调试服务,所以要把端口号去掉,改用本地IIS服务的方式启动。这点很关键,要不然没法发在服务器上调用本机服务。
(2)把服务器上的lib项目和子项目的web.config的服务调用改成本机的:<add key="loginservice" value="http://171.186.109.56/AuthoriseService/Authorise.asmx" />
171.186.109.56是本机的以太网IP,且服务器能ping通
(3)运行lib项目,输入用户名和密码,登陆。然后就能进入到服务打的断点了。
相关文章推荐
- 通过eclipse直接打断点调试程序
- 微信小程序,腾讯云node环境后台koa2开发框架(本地调试、接口、静态文件服务、文件长传服务)
- VS 通过 附加进程的方式来调试 C#服务程序
- 64位系统Visual Studio通过IIS调试Web程序报错:未在本地计算机上注册"MSDAORA.1"提供程序
- dubbo服务本地断点调试方法
- 通过vc的断点来调试程序
- axis2客户端调用免费的webservice服务的实例之一通过wsdl生成客户端程序并本地调用
- 在本地我们调试运行AJAX.NET程序完全没有问题,但是一旦上传到服务器就会出现很多Web.config文件异常
- c# 通过Windows服务启动外部程序
- 通过编程来让企业服务以服务程序方式运行
- IIS网站已经停止,提示服务器没有及时响应启动或控制请求!本地计算机法启动 World Wide Web Publishing 服务。提示 “错误127: 找不到指定的程序”或者“错误1721,资源不足,无法启动”
- 【嵌入式Linux学习七步曲之第二篇 ARM+Linux开发环境】在AT91RM9200上通过nfs调试linux程序
- 在s3c2410上通过nfs共享文件的方式调试linux程序
- 调试Bug的神兵利器:通过WinDbg条件断点收集Log
- 通过编程来让企业服务以服务程序方式运行
- 20CN网络安全小组--一个操作本地或者远程主机服务的小程序
- 通过内核对象在服务程序和桌面程序之间通信的小问题
- 通过core文件调试程序
- VS2005 Winform程序不能启动调试,别忘了启动Terminal Services服务[记录]
- 通过编程来让企业服务以服务程序方式运行