添加 IIS UrlRewrite 似乎会破坏本地 IIS 服务器上的调试

2024-01-02

这个问题让我发疯:我正在开发一个最近创建的项目,突然我无法调试该特定项目。

我使用带有 IIS UrlRewrite 2 模块的本地 IIS 7.5。我的开发机器是 Windows 7 x64,带有 Visual Studio 2010 Professional。

在其他项目中调试仍然有效。我已在本地 IIS 中设置了一个条目,并开始在本地 IIS 上调试 ASP.net 4.0 项目。
我能够使用 URL Rewrite 2 模块将调试问题跟踪到意外行为,并使用新创建的4.0 Web应用程序项目:

添加一个简单的后URL重写规则使用 IIS 中的管理设计器,我无法开始调试,因为我收到错误消息

Unable to start debugging on the web server. Could not start ASP.Net debugging.  
More information may be available by starting the project without debugging.

(我还尝试从其他项目复制 URL 重写设置,但到目前为止没有成功)
无需调试即可启动项目,效果非常好,并且没有显示任何错误!

除此之外,我只在default.aspx的默认文本中添加了一些字符

IIS 中的站点设置:
- 我创建了一个新站点,分配了一个绑定(哪个端口并不重要,例如我尝试了端口 86),就像我一直做的那样。
- 我将新创建的应用程序池中的用户身份设置为“networkservice”
- 将新创建的应用程序池的框架版本设置为“4.0”
- 我已向用户“networkservice”授予解决方案目录的完整目录权限

我还尝试了其他几种设置组合,例如启用 WindowsAuthentification、FormsAuthentication 等。到目前为止还没有运气。

This is 项目的 Web 选项卡:
服务器:使用本地 IIS Web 服务器,项目 URL“http://localhost:86/”(我也尝试过使用“http://localhost:86”,似乎没有什么区别)

这里发生了什么?我在这里失去了理智。有想法该怎么解决这个吗? (不使用 UrlRewrite 2.0 模块是没有选择的)

最后是网络配置:

<?xml version="1.0" encoding="UTF-8"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>

    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>

    <roleManager enabled="false">
      <providers>
        <clear />
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>

  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true" />
        <rewrite>
            <rules>
                <rule name="LowerCaseRule1" stopProcessing="true">
                    <match url="[A-Z]" ignoreCase="false" />
                    <action type="Redirect" url="{ToLower:{URL}}" />
                </rule>
            </rules>
        </rewrite>
  </system.webServer>
</configuration>

Update: 显然我可以使用 ActionType="Rewrite" 进行调试,但不能使用 ActionType="Redirect" 进行调试。但仍然没有真正的选择,因为我希望首先解决这个问题,而不是用一些解决方法来解决问题。我现在很想悬赏,但系统不允许。

有人可以重现我的步骤吗? (到目前为止我在两台不同的计算机上得到了这个)


Visual Studio 在启动时将(由于某种原因)尝试访问 URL:

/debugattach.aspx

如果您有一个重定向(或以其他方式捕获)的重写规则,例如,.aspx文件,其他地方,然后你会得到这个错误。解决方案是将此部分添加到您的web.config's <system.webServer>/<rewrite>/<rules>部分:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

这将确保捕获这一特定请求,执行nothing,最重要的是,停止执行,这样您的其他规则就不会运行。这是一个强大的解决方案,因此请随意将其保留在您的配置文件中以进行生产。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加 IIS UrlRewrite 似乎会破坏本地 IIS 服务器上的调试 的相关文章

  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • 回发或回调参数无效。使用“”启用事件验证

    当我从客户端回发页面时 出现以下错误 我有修改客户端 asp ListBox 的 JavaScript 代码 我们该如何解决这个问题 错误详细信息如下 Server Error in XXX Application Invalid post
  • 验证插件在更新面板中不起作用

    我有一个更新面板 面板内有文本框和按钮可用 现在我正在使用 jQuery Validation 插件 但是在更新面板中使用时验证插件不起作用 例如 function GetAddressTargetList var objArray new
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 无需安装即可部署 Expression Encoder SDK

    我试图在使用 Microsoft Expression Encoder 3 SDK 时证明一个概念 我正在尝试将 SDK 部署到我的托管 Web 服务器 以了解更多关于它是否有效以及还需要安装什么的信息 我无法在服务器上进行任何操作 以下是
  • 如何使用 Mongodb C# 驱动程序连接多个集合

    我需要将 3 个集合与多个集合合并在一起 lookup我在 C 驱动程序中尝试过 它允许我 lookup用户采集但无法执行秒 lookup用于设置集合 有人可以帮忙吗 db Transactions aggregate lookup fro
  • ClojureScript 中的 js/console.log

    我想用 ClojureScript 实现一个函数来简化js console log像这样 defn log args apply js console log args 调用它 log foo bar 抛出 TypeError Illega
  • 私有模板函数

    我有一堂课 C h class C private template
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • jQuery Ui:无法从 Div 中拖动元素并溢出

    我在 div 中有一个简单的 UL 并将溢出设置为自动和固定高度 每个 LI 都可以通过 jQuery 拖动 问题是我无法将它们从 div 中拖动 当拖动到边界时它们会消失 我已经查看了这个问题及其答案 但这里的解决方案似乎对我不起作用 设
  • 扩展接口以包含日期类型

    我需要扩展 Typescript 中的接口以包含日期类型 我尝试过以下方法 interface WithDate key string Date 但当我尝试延长WithDate 我收到错误 interface Person extends
  • 修改 std::set 中的元素

    我有以下代码 int main set
  • 过滤特定行

    我目前正在尝试从日志文件中过滤特定行 我在日志文件中的行具有以下模式 8 05 13 14 24 55 468 RuntimeErrorI E LaError 8 05 13 14 24 55 468 AbcdEfg W SomeWarni
  • 使用 django 为一个模型的属性使用多个输入字段

    In models py I have class myModel period models CharField max length 100 blank True the period应该包含类似的内容 DD HH MM SS 在 HT
  • SetWindowPos 返回拒绝访问

    我正在构建可帮助拍摄所选窗口的屏幕截图的应用程序 我在选定的窗口上显示半透明表单 在本例中我使用的是 winapi DllImport user32 dll SetLastError true public static extern bo
  • 是否有可能在 WPF / Touch 应用程序中弹出一个忽略 MenuDropAlignment 的窗口?

    作为一点背景知识 Windows 有一个针对触摸 平板电脑的功能 它可以根据您的 用手习惯 来移动弹出窗口 菜单的位置 以防止菜单出现在您的手下 从本质上讲 如果您设置为 右手 连接触摸设备后似乎默认为右手 您打开的每个弹出窗口都会被人为地
  • javascript 中用于文件路径验证的正则表达式

    我似乎找不到可以测试以下情况的 JavaScript 正则表达式 c temp D 目录名 testing john desktop tempdir 你可以看到我要做什么 我只需要它来验证文件路径 但我发现的所有表达式似乎都不适用于 Jav
  • 保护对 Kafka Connect REST API 的访问

    Kafka Connect 的 REST API 不安全且未经过身份验证 由于它未经身份验证 因此任何人都可以轻松访问连接器或任务的配置 由于这些配置可能包含如何访问源系统 在 SourceConnector 的情况下 和目标系统 在 Si
  • Windows 中哪个进程是用户特定的?

    我想知道 Windows 中的哪个进程是特定于用户的 我的意思是它是为每个用户登录创建的 我尝试了 explorer exe 但是当您切换用户并登录新帐户时 它会在我的代码中显示旧的登录名 基本上我只需要记录在应用程序中登录的用户 如果您需
  • 在 Outlook 2016 中添加上下文菜单项

    在 Outlook 2007 中 当用户右键单击邮件项目时 以下代码将菜单项添加到上下文菜单中 然而在 Outlook 2016 中这不起作用 这段代码根本没有被执行 Sub Application ItemContextMenuDispl
  • Android,我看到堆在增长,但我希望它停止

    我看到我的堆不断增长 并且我知道它最终会在任何设备上崩溃 因为它一直在增长 Grow heap frag case 在整个日志中都可以看到 在我的手机上 当使用 32mb 时 应用程序就会崩溃 其他手机当然是 16mb 如果有那么少的资源运
  • 单击按钮即可更新 asp.net 表

    我是 ASP NET 的新手 遇到了一个非常愚蠢的问题 但我无法弄清楚 我有一个表单 由 page load 上的数据库数据填充 用户更新表单的输入文本并单击 更新 按钮 它会更新 但会使用旧数据进行更新 为什么要用旧数据更新它 这是asp
  • 轨道 HAML 表格

    我目前正在尝试将 ERB 布局转换为 HAML 这是我不断收到的错误 index html haml 18 syntax error unexpected n hamlout format 这是 HAML 页面 row fluid span
  • 如何配置log4j只保留最近7天的日志文件?

    我在使用多个 Java 应用程序时遇到以下日志记录问题log4j用于记录 我希望日志文件每天轮换 例如 log 2010 09 10 log 2010 09 09 log 2010 09 08 log 2010 09 07 log 2010
  • 将单元测试添加到遗留代码[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您是否曾经在事后向遗留代码中添加过单元测试 代码有多复杂 存根和模拟所有内容有多困难 最终的结果值得吗 我发现最好的方法是逐步添加单元测试 而不
  • 如何在 Windows 上的 Perl 中将具有 UTF-8 文件名的文件复制到另一个 UTF-8 文件名?

    例如 给定一个空文件 txt 我该如何制作一个名为 txt copy 我第一次破解它设法访问该文件并创建新文件名 但生成的副本 txt copy 这是我的第一次尝试 usr bin env perl use strict use warni
  • d3 onclick 获取具体路径/栏参考

    如果我有 d3 dc 图表 并且我设置了一个单击事件处理程序 如下所示 var data city New York neighborhood N A hits 200 city New York neighborhood Brooklyn
  • 通过键合并数据框中的行

    如果我有一个带有关键列和数据列的数据框 就像这样 df lt cbind key c Jane Jane Sam Sam Mary var1 c a NA a a c var2 c NA b NA b d key var1 var2 Jan
  • 添加 IIS UrlRewrite 似乎会破坏本地 IIS 服务器上的调试

    这个问题让我发疯 我正在开发一个最近创建的项目 突然我无法调试该特定项目 我使用带有 IIS UrlRewrite 2 模块的本地 IIS 7 5 我的开发机器是 Windows 7 x64 带有 Visual Studio 2010 Pr