使用Fiddler调试visual studion多个虚拟站点的问题分析

1:localhost.和127.0.0.1.带来的URL行为不一致

无法走本地代理,这个无法本地调试的问题并不是个BUG,微软官方是有给出过解释的,这是源于IE浏览器和.NET框架对于本地请求是不走代理的,因而Fiddler无法检测数据。于是为本地地址加.符号,这就带来URL行为不一致的问题。

取当前Context.Request.URL,会发现系统自动将地址中的.符号忽略了,这为我们针对URL编码带来了不一致的问题;

2:target machine actively refused it(目标地址积极拒绝)

Filddler Option的Enable IPV6取消。

3:修改Custom Rules带来的URL行为不一致

解决1中的问题,必须采用Custom Rules,有关信息对应:http://fiddler2.com/documentation/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse

我的解决方案中对应两个虚拟站点,则要为Fiddler更改策略如下:

if (oSession.host=="aaa:22222") {
  oSession.host="127.0.0.1:22222";
}

if (oSession.host=="aaa:22222") {
  oSession.host="127.0.0.1:22222";
}

当然,这个解决不是说得到了aaa这个URL,而是localhost.,也就是仍旧存在URL行为不一致的问题

4:设置站点为"Use Local iis web server"

在VS中设置调试的站点不是development server,而是IIS,其中,把URL填写为本机的IP地址,如:http://192.168.80.1/。好吧,所有这一切,还是只能怪IE对本地地址不走代理。因为我们知道Fiddler一开启,实际就是为IE设置了走自身的代理。

(0)

相关推荐

  • Visual Studio中js调试的方法图解

    第一步:在需要打断点处写上 debugger; 第二部:在IE中将禁用脚本调试的钩去掉 打开IE -> 工具 -> 选项 -> 高级 -> 去掉禁用脚本调试(Internet Explorer)和禁用脚本调试(其他) 不用调试时记得将IE去掉的钩,钩上,以免打开其它网页报错!

  • Visual Studio 2017通过SSH调试Linux上.NET Core

    Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Studio 2017 部署环境:Ubuntu 14.04 x64 .NET Core SDK 1.0.1 Ubuntu上安装.NET Core SDK Ubuntu 14.04 x64 sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotn

  • 配置Visual Studio 以调试.net framework源代码第1/2页

    基本步骤注意,这个功能在Visual Studio 2008 Express版里不支持.1)安装Visual Studio 2008 QFE.这个QFE只是更新一个Visual Studio调试器的DLL,以便可以获取源代码,更多细节参加下载页面.2)运行Visual Studio 2008依次展开Tools->Options->Debugging->General.如果你在Visual Basic Profile环境下运行,你需要将lower left of the Options D

  • Visual Studio调试技巧汇总

    调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等. 但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里). 一种更简单的方法,把鼠标停在所需查看的数据上.如果是类或结构,那么点击展开可以很方便快速地

  • Visual Studio Debugger七个鲜为人知的小功能

    Visual Studio debugger是一个很棒的调试工具,可以帮助程序猿们快速地发现和解决问题.这里给大家简单介绍一下VS调试工具中的七个鲜为人知的小功能. 1. 一键跳转到指定语句 调试过程中经常需要拖拽黄箭头,使特定语句执行或者不执行.常规方法就是使用鼠标直接拖拽. 在Visual Studio 2017 15.3预览版中,有一个更简单地跳转到目标行的方法:在目标行盘旋鼠标指针,出现绿色竖线右箭头图标后,按住CTRL后鼠标左键点击,就把调试黄箭头移过去了,再点击调试下一步或者F5就直

  • 分享Visual Studio原生开发的10个调试技巧(2)

    之前关于Visual Studio调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号).这些技巧可以应用在VS2005或者更新版本中(当然有一些可以适用于旧版本).如果你继续,你可以知道每个技巧的详细信息. 技巧11:数据断点 当数据所在内存位置变化时,调试器将会中断.然而,这是唯一可能在一个时间创建4这样的硬件的数据断点.数据断点只能在编译的过程中添加,可以通过菜单(编译>新断点>新数据断点)或者通过断点窗口来

  • 分享Visual Studio原生开发的10个调试技巧

    最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的整理的一些技巧: 异常中断 | Break on Exception Watch窗口中的伪变量 |

  • 解决Visual Studio 2012 Update 4 RC启动调试失败的方案

    本教程就是帮助大家解决Visual Studio 2012 Update 4 RC启动调试失败的问题,具体内容如下 以下解决办法适用于任何Visual Studio开发环境,及Windows NT 6.1以上系统. 系统:Windows 8.1 Enterprisex64 RTM 开发环境:Visual Studio 2012 Update 4 RC 运行库:.NET Framework 4.5 x64 承载环境:IIS 8.0 错误:无法在web服务器上启动调试,您没有调试web服务器进程的权

  • 使用Fiddler调试visual studion多个虚拟站点的问题分析

    1:localhost.和127.0.0.1.带来的URL行为不一致 无法走本地代理,这个无法本地调试的问题并不是个BUG,微软官方是有给出过解释的,这是源于IE浏览器和.NET框架对于本地请求是不走代理的,因而Fiddler无法检测数据.于是为本地地址加.符号,这就带来URL行为不一致的问题. 取当前Context.Request.URL,会发现系统自动将地址中的.符号忽略了,这为我们针对URL编码带来了不一致的问题: 2:target machine actively refused it(

  • vue2.0的虚拟DOM渲染思路分析

    1.为什么需要虚拟DOM 前面我们从零开始写了一个简单的类Vue框架(文章链接),其中的模板解析和渲染是通过Compile函数来完成的,采用了文档碎片代替了直接对页面中DOM元素的操作,在完成数据的更改后通过appendChild函数将真实的DOM插入到页面. 虽然采用的是文档碎片,但是操作的还是真实的DOM. 而我们知道操作DOM的代价是昂贵的,所以vue2.0采用了虚拟DOM来代替对真实DOM的操作,最后通过某种机制来完成对真实DOM的更新,渲染视图. 所谓的虚拟DOM,其实就是 用JS来模

  • PHP 配置open_basedir 让各虚拟站点独立运行

    当时觉得这跟IIS相比,实在太差了,因为在IIS里,可以在安全性里设置一个站点甚至一个目录访问时使用的匿名账号,只要各个站点使用的账号不一样,站点间的安全就不会互相影响.这几天才发现,原来当时的想法是错的,在Apache下,也可以配置PHP来实现各站点间的相互独立运行,虽然不能详细控制以某个用户运行某个站点,但至少不会再出现整个服务器被拿下的局面. 通过配置PHP的open_basedir即可以实现该控制,这个配置在IIS下也有用,但这里只讲Apache下的配置. open_basedir可将用

  • Visual Studio 2022使用MinGW来编译调试C/C++程序的图文教程

    目录 一.创建项目 二.配置CMake 三.配置调试 Visual Studio的新版本已经可以像VSCode一样创建CMake项目了,但是默认的情况下是使用的Visual Studio编译器及调试器不包括MinGW中的工具集,参见下面的默认可选工具集: 本文就以实例来简单介绍一下VS2022中如何使用MinGW来编译.调试C/C++程序. 一.创建项目 首先,创建一个新项目: 然后,选择CMake项目: 填写项目名称,比如test 项目创建好后如下所示,由于笔者并未安装VS的Windows C

  • 虚拟主机封杀webshell提权!!!!!!!!!!

    1.为了打造一个安全的虚拟主机,在asp+SQL环境下,我们要做的是封杀ASP webshell.封杀serv-u提权漏洞和SQL注入的威胁 2.默认安装的win主机上webshell功能十分强大,我们要封杀webshell的哪些功能 也就是不让webshell查看系统服务信息,执行cmd命令和略览文件目录,我们要实现的功能是每个用户只能访问自己的目录,而且可以用FSO等ASP组件,在这里我以海洋木马和win200为例给大家演示一下.好多资料都是网上收集而来,在这表示感谢. 3.现在我们先设置好

  • 解决windows上php xdebug 无法调试的问题

    有时候我们在使用php和nginx进行开发的时候,会出现这样的情况,明明扩展已经安装,但是就是无法调试成功.这个时候我们就要耐心去分析问题产生的原因. 第一步:查看php的版本比如是否是x64还是x86,看看xdebug是否激活,可以通过phpinfo();来查看扩展是否激活. 第二步:使用php -m再次检查xdebug是否安装. 这个时候可能会遇到 xdebug must be loaded as zend extension .这个是因为我们在php.ini中配置extension的时候需

  • ASP.NET Web API教程 创建Admin控制器实例分享

    In this section, we'll add a Web API controller that supports CRUD (create, read, update, and delete) operations on products. The controller will use Entity Framework to communicate with the database layer. Only administrators will be able to use thi

  • C#调用python文件执行

    我的电脑环境是使用.net framework4.5.1,如果在调试过程中调不通请注意 我用的是Visual studion 2017,python组件下载地址:http://ironpython.codeplex.com/releases/view/ 下载的版本是2.7,下载安装完之后记得引入安装路径下的以下三个dll (1)首先先说一个简单的功能,在c#代码中执行python字符串,内容如下: (2)c#调用python文件: 在当前目录下新建一个后缀名为py的文件,文件名为AmoutDis

  • ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

    在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径"C:/temp/mytest.txt"的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 对路径"D:/temp1/MyTest.txt"的访问被拒绝. 解决方案一 在需要进行读写操

  • WEB上调用HttpWebRequest奇怪问题的解决方法

    今天做了个在局域网的某客户端取得该局域网的公网IP的小程序,方法是通过登陆外网,让外网告诉你所在局域网的公网IP是多少,方法如下: 复制代码 代码如下: Uri uri = new Uri("http://www.jb51.net/");  HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);  req.Method = "POST";  req.ContentType = "applic

随机推荐