在 ASP.NET 开发服务器下运行时,WebForms 中的 ASP.NET 路由不处理非 ASP 扩展

2023-12-24

我在 Visual Studio 2010 下创建了一个默认网站。 在 Global.asax 中添加了一个简单的路由:

routes.MapPageRoute("AboutRoute", "about", "~/About.aspx");

当我启动时显示404ASP.NET 开发服务器并浏览到“http://localhost:6521/WebSite1/about”

但当我改变时效果很好about to about.axd(注意 .axd 扩展名)并浏览到 /WebSite1/about.axd

我需要在 web.config 中更改哪些内容才能使开发服务器像 IIS 一样工作(正确处理无扩展名的 URL)?


当我启动 ASP.NET Development Server 并浏览到时,显示 404 “http://localhost:6521/WebSite1/about”

我准备了一个示例 Web 应用程序,其中提供了“关于我们”和“Default.aspx”页面。 在default.aspx页面中,我编写了以下代码......

Default.aspx.cs代码

protected void Page_Load(object sender, EventArgs e)
{
    Response.Redirect(Page.GetRouteUrl("AboutRoute", 
                        new { ID = "Evgenyt" }));
}

Global.asax.cs代码

public class Global : System.Web.HttpApplication
{
    private void RegisterRoute(RouteCollection Routes)
    {
        Routes.MapPageRoute("AboutRoute", "about/{ID}", "~/About.aspx");

    }

    void Application_Start(object sender, EventArgs e)
    {
        RegisterRoute(RouteTable.Routes);
        // Code that runs on application startup

    }
}

然后我发布了代码并在IIS上进行了配置。现在,当请求到达 IIS 时,它会将消息路由到 aspnet_isapi.dll ISAPI 扩展。然后,ISAPI 扩展加载 default.aspx 页面,执行它,并将其呈现的 HTML 返回给 IIS,最后 IIS 将其发送回客户端。

结果网址

http://localhost/Demo/about/Evgenyt http://localhost/Demo/about/Evgenyt

实际网址

http://localhost/Demo/AboutUs.aspx http://localhost/Demo/AboutUs.aspx


我需要在 web.config 中更改哪些内容才能使开发服务器正常工作 就像 IIS 那样(正确处理无扩展名的 URL)?

- 不像URLMapping、URLRouting 不会发生在 Web.config 中。可以使用代码来实现。您可以使用 Glogal.asax.cs 文件中的代码中提到的 Application_Start 事件来注册应用程序的所有路由。要注册路线,您可以使用RouteTable上课于System.Web.Routing命名空间。

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

在 ASP.NET 开发服务器下运行时,WebForms 中的 ASP.NET 路由不处理非 ASP 扩展 的相关文章

  • 参考装配错误

    我已经实现了 RoleProvider 类 在那里我创建了位于另一个程序集中的 Domain 类对象 我的程序集具有对该程序集的引用 错误 3 类型 System Data Entity DbContext 是在 未引用的程序集 您必须添加
  • 收到“路径‘OPTIONS’被禁止”。 ASP.NET网站异常

    我收到错误System Web HttpException Path OPTIONS is forbidden 自从我们将网站转移到新的服务器设置以来 我无法重新创建该错误 但我每天至少会收到几次有关此异常的电子邮件 有什么想法可能导致此问
  • ASP.NET 更新面板停止 jquery 工作

    我已经为 mouseenter mouseleave 以及 jquery Draggable 绑定了 jquery 事件集 div 被放置在更新面板中 当单击按钮时 信息将发送到数据库并更新更新面板 但是 当面板更新时 jquery 事件不
  • 如何从客户端设置 HTMLEditorExtender HTML

    我无法让它工作 这是我在另一个线程中找到的代码 但它对我不起作用 我得到 set content 不是函数 find set content whatever 这仍然有效吗 我还尝试设置它扩展的文本框的值 尝试设置两者的 InnerHtml
  • 从asp.net ListBox中获取所有选定的项目

    任何人都知道一个顺利的方法来获得所有selected使用扩展方法在列表框控件中的项目 并且 请不要让我争论与如何获取这样一个列表无关 因为最终一切都使用循环来迭代项目并找到选定的项目 var selected yourListBox Ite
  • ASP.NET MVC:我什么时候应该创建自定义视图引擎

    我知道什么View Engine是 我更喜欢使用Razor视图引擎只是因为它的语法简单ASPX引擎 内置视图引擎为您执行几乎所有任务 那么在什么情况下我应该创建自己的视图引擎 我用谷歌搜索了它 但得到了如何创建它的答案 而不是何时以及为什么
  • 如何将 .ashx 处理程序与 asp:Image 对象一起使用?

    我有一个 ashx 处理程序 using System using System Web public class Thumbnail IHttpHandler public void ProcessRequest HttpContext
  • 禁用 ASP.net 文本框而不实际禁用它?

    在我的 ASP Net 应用程序中 有一个文本框可以从CalendarExtender 填充文本框后 它会将该日期与表单上的另一个日期进行检查并显示modalpopupextender如果日期错误 则会弹出窗口 但是 我不想允许用户输入此文
  • 带有 jQ​​uery 日期选择器 OnTextChanged 的​​文本框未触发

    我有一个带有 OnTextChanged 事件的 asp textbox 当从绑定到它的 jQuery 日期选择器中选择新日期时 我想触发该事件 但在选择日期时 OnTextChanged 永远不会触发 如果我 手动 更改文本 它会触发 但
  • 使用 jQuery 获取 ASP.Net Gridview 的 rowIndex

    您好 是否可以使用 jQuery 获取 gridview 的当前行索引 一点背景 我使用模板字段中的服务器端链接按钮从 gridview 中删除行 如下所示
  • 使用 AJAX 或多线程加速页面加载

    我的页面有 5 个部分 每个部分大约需要 1 秒来渲染 Page Load RenderSection1 1 sec RenderSection2 1 sec RenderSection3 1 sec RenderSection4 1 se
  • ChannelFactory重用策略

    我一直在读到 ChannelFactory 的创建是昂贵的 除非有技术原因不这样做 否则应该在可能的情况下重用 ChannelFactory 或者通过某种方式缓存它们 或者使用工厂的静态实例 根据您的经验 您发现哪些 ChannelFact
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 在多个网页(.cshtml 文件)中使用 Razor @functions

    我有以下功能 我希望可用于我的 asp net 网页 2 应用程序中的多个 cshtml 视图 如何使该功能可用于应用程序中的任何视图 而不是仅一个视图 functions public bool DisplayButton String
  • 您会认为这是单例/单例模式吗?

    想象一下 在 Global asax cs 文件中 我有一个实例类作为私有字段 我们这样说 private MyClass myClass new MyClass 我在 Global 上有一个名为 GetMyClass 的静态方法 它获取当
  • 基于网络的应用程序中的图表

    可使用 ASP NET 在网页上显示图表的各种图表工具有哪些 我了解 Dundas 和 Infragistics 等商业工具 我可以用谷歌搜索这个 但我想知道参与者使用过的各种工具 任何可用的免费图表工具也欢迎提及 如果您不介意使用 Fla
  • VSTS/TFS设置环境变量ASP.NET core

    我正在尝试使用 VSTS 将 ASP NET Core 应用程序部署到 IIS 并执行以下任务 然而 经过多次谷歌搜索和浏览 MS 文档后 我找不到为部署设置环境变量的方法 我在环境范围的发布定义中设置的变量未设置为环境变量 知道如何实现这
  • 同时从2个表中删除?

    我正在使用 asp net 和 sql 服务器 我有 2 个表 类别和产品 在产品表中 我的categoryId 为FK 我想要做的是 当我从类别表中删除类别时 我希望该类别中的所有产品都将在产品表中删除 如何才能做到这一点 我更喜欢使用存

随机推荐

  • 作为 Windows 服务启动的 Java 应用程序的远程调试

    我的 Java 应用程序是通过 java dll 从本机程序中启动的 该本机程序作为 Windows 上的服务启动 以下选项已添加到 JVM 参数中以用于远程调试 Xdebug Xnoagent Xrunjdwp transport dt
  • 在 Jenkins 管道中获取 SSH 从节点主机名/IP

    我使用 SSH 从设备作为 Jenkins 管道脚本中的节点 有没有办法获取管道 Jenkinsfile 脚本内节点的主机名 IP 我正在部署到参数化节点 并希望在脚本末尾回显该节点的 IP i e node master checkout
  • 防止 akka actor 重新启动子 actor

    我正在努力找一个演员Worker不要重新启动它的子演员SubWorker当它被自己的主管重新启动时Mngr 即使在覆盖之后我也没有成功preRestart and postRestart in Worker 日志仍然显示SubWorker直
  • Android NDK -arm-linux-androideabi-g++:未找到

    我正在尝试在我刚刚安装的新 Ubuntu 中为 Android 目标构建 C POCO 库 我已经安装了Android NDK home user dev Android android ndk r9 x86并使用以下命令在环境变量中添加
  • 如何在控制台多行上更新数据

    我想在控制台的两行上显示数据 我只想每次更新这两行 到目前为止我所做的是 var logInline function alpha bravo process stdout cursorTo 0 0 process stdout clear
  • Html选择问题

    我在 html 选择元素中有一些长文本 当用户选择一个选项时 只要选择了 就会显示文本 使其可用且清晰的最佳解决方案是什么 Example
  • 您认为软件公司应该向开发人员强加一种编码风格吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 未指定所需属性“action”

    首先 我对我的英语不好感到抱歉 因为我不是以英语为母语的人 所以我的问题中可能存在一些与英语相关的错误 我希望任何读我问题的人都能理解我想说的 我是学习者 我正在将 PSD 转换为 XHTML 和 CSS 我已经完成了我的工作 但是当我在
  • 有没有深入的 ttk 造型指南? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 所以我最近开始涉足 Tkinter 并且我的想法是创建一个本质上讲故事的应用程序 最终 我希望对大多数
  • 使用 tshark 过滤 VoIP 呼叫

    我正在分析网络上的 VoIP 呼叫 目前我正在使用生成的 pcap 文件 但稍后我将实时监听该文件 我正在使用 tshark 我可以很容易地从 pcap 中过滤一些重要数据 例如 源 ip 地址和端口 目标 ip 地址和端口 有效负载 pc
  • 为 CLR 实现函数式语言(或者,关于 F# 实现的论文)

    有谁知道有关 F 编译器实现的任何好论文吗 我正在尝试为针对 CLR 的简单函数式语言生成 CIL 代码 但我在几个方面遇到了困难 函数式语言和 CIL 之间的差异使得生成类型正确的 CIL 代码变得困难 我有通过类型擦除来工作的解决方案
  • Crashlytics 上传 Android 原生库的符号成功,但 Firebase 控制台中没有显示任何符号?

    我正在尝试在 Android 应用程序中上传外部本机库的本机符号 所有设置和 crashlyticsUploadSymbolsRelease 似乎都成功了 我检查了 crashlytics log 它说 cSYM 文件正在生成并上传到htt
  • Azure 应用服务:使用性能计数器

    我正在尝试设置我的 Azure Web 应用程序以包含第三方软件的使用 这似乎需要访问 PerformanceCounters 在本地 这工作正常 但是当我在 Azure 中运行它时 出现以下错误 UnauthorizedAccessExc
  • 如何在python中读取pdf文件而不在unix中转换它? [复制]

    这个问题在这里已经有答案了 pdfile open tutorial pdf r xyz pdfile readlines pqr pdfile readline for a in xyz print a 该代码不显示实际内容 相反 它显示
  • 在准备好的语句上使用 fetch_assoc

    我目前正在编写登录脚本 我得到了以下代码 selectUser db gt prepare SELECT id password salt FROM users WHERE username selectUser gt bind param
  • git 网站更新策略 - 如何同步开发和实时存储库?

    以下是我构建 git 支持的网站更新和备份策略的方式 我可以通过 SSH 访问托管该网站的 Linux VPS 这是我所做的 1 在网站服务器上 在正确的网站文件夹 公共根之前的一级 创建了一个 git 存储库 cd path to web
  • Powershell复制文件或获取内容而不锁定它

    我们有一些预定的脚本 他们必须访问带有点源函数的文件 Functions ps1 此 Functions ps1 位于共享上 因为 ExecutionPolicy 我无法像这样加载文件 share folder Functions ps1
  • 使用 NSTimer 显示像汽油泵表一样动画的秒表计时器

    我是iOS开发新手 当我按下秒表开始按钮时 我想显示计时器 如计数器令牌效果 我附上了图像供您参考 我已经完成了显示秒和分钟 但我不知道 如何动画自动滚动效果 我怎样才能做到这一点 When the counter is moving it
  • Swift DidSelectRowAt 未触发

    我有一个项目 有几个不同的 VC 其中两个有 TableViews 第一个工作得很好 我在那里有一个自定义视图等 第二个也是自定义的 它填充了很好的信息 但与第一个不同 我无法点击它来继续下一个 VC 我已正确设置委托和数据源 我的项目中有
  • 在 ASP.NET 开发服务器下运行时,WebForms 中的 ASP.NET 路由不处理非 ASP 扩展

    我在 Visual Studio 2010 下创建了一个默认网站 在 Global asax 中添加了一个简单的路由 routes MapPageRoute AboutRoute about About aspx 当我启动时显示404ASP