问题标签 [integrated-pipeline-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 站点未在经典管道模式下重定向到默认文档
我在 IIS 7.5 中有一个 .NET 4.0 站点。默认文档设置为 home.aspx。
如果应用程序池托管管道模式设置为“经典” http://localhost/mysite会显示以下错误
如果我转到http://localhost/mysite/home.aspx,该站点将正确显示。
如果我使用“集成”作为托管管道,则站点使用任一路径正确显示。
我已经尝试过针对早期 IIS 版本的 EnableExtensionlessUrls 修复程序,并将默认文档信息直接放在 web.config 中。这些都不适用于“经典”管道模式。
知道为什么会这样吗?
memory - IIS7 上的经典 ASP ==> 应用程序池管理管道模式“集成”还是“经典”?
在 IIS7 上,应用程序池的托管管道模式设置是否会影响经典 ASP Web 应用程序的内存消耗行为?
asp.net - 用于 IIS 7 的自定义 HttpModule 用于集成
我在构建自定义错误处理程序时遇到问题。它应该是HttpModule
,但是当我将它添加到我web.config
的system.webServer/modules
标签时,它不会被启动。
这是我的web.config
部分:
这是我的代码HttpModule
:
有人可以向我解释我做错了什么,以及 IIS 7 集成托管管道模式是如何工作的吗?因为我找到的大多数答案都是关于HttpModules
为 IIS 6 配置的。
asp.net-mvc-3 - 区分httpmodule中的静态文件和asp.net页面 - IIS7
在 IIS7 集成模式下,特别是在 ASP.NET MVC 和 .NET4 中,所有模块都针对所有请求运行。runAllManagedModulesForAllRequests="true"。让 runAllManagedModulesForAllRequests="false" 让我头疼,并且对此有太多问题,直到我感到困惑。
因此,为了简单起见,只需让我的模块接受所有请求,包括静态文件,但在像 BeginRequest 这样的模块中,我只想在它不是静态文件的情况下处理。如何在模块中过滤或检查此条件?
asp.net - Response.Headers 和 IIS6
因此,我尝试遍历 Response.Headers 以进行自定义缓存作业,但是当我触摸该事物时出现以下错误:
这可以在 IIS6 中完成吗?有解决方法吗?
asp.net-mvc - 身份验证过程中表单数据丢失——但仅限于集成管道模式
我维护了一个 ASP.NET MVC 应用程序(版本 1),该应用程序当前在 IIS 7 上以经典模式运行。我们想开始以集成管道模式运行应用程序。但是,我遇到了一个奇怪的问题,它阻止我们切换到集成模式——当我们尝试时,应用程序停止接收表单数据。(即通过 POST 方法发送数据。)
通过向 Global.aspx 文件添加大量日志记录,我能够缩小表单数据丢失的位置。这就是似乎正在发生的事情。
收到请求后,
Application_BeginRequest
触发事件。此时,表单数据已经出现,可以通过检查请求对象的Forms
或Params
属性来查看。此时请求的Url
属性中的任何地方都没有“.mvc”扩展名。(更多内容如下。)接下来,
Application_AuthenticateRequest
触发事件。同样,存在表单数据,并且 URL 没有“.mvc”扩展名。在这一点上,我期望发生的是
Application_PostAuthenticateRequest
事件触发。但实际发生的是Application_BeginRequest
再次调用。这一次,表单数据消失了——它不在Forms
、Params
或其他任何地方。此外,URL 已更改,因此 URL 的控制器名称部分添加了“.mvc”扩展名。例如,如果第 1 步和第 2 步中的 URL 是“/Education/Manage”,那么在第 3 步中它会显示为“/Education.mvc/Manage”。该
Application_AuthenticateRequest
事件再次被触发。同样,缺少表单数据,并且 URL 中嵌入了“.mvc”扩展名。这一次,
Application_PostAuthenticateRequest
被触发,页面生命周期的其余部分正常进行。在此事件和所有后续事件中,没有表单数据,并且“.mvc”扩展名仍然存在。
仅当我切换到集成管道模式时才会出现此问题。它在经典模式下运行良好。我已经在谷歌上搜索了好几天,不幸的是我找不到任何关于类似问题的参考。我还尝试以几种不同的方式编辑 Web.config 文件,希望能解决问题,但没有任何运气。我希望这里有人可以阐明这个问题。
以下是一些相关的代码片段。如果我应该包含任何其他代码,请告诉我。
从 Web.config:
来自 Global.aspx:
.net - 如何配置我的 MVC 应用程序以在 iis 集成模式下运行?
如何配置我的 MVC 应用程序,以便 Visual Studio 开发服务器以集成管道模式运行它?
asp.net - Url 重写模块不适用于 IIS 7.5 中的经典管道
我编写了一个自定义 url 重写 http 模块,该模块在集成托管管道应用程序池中完美运行。
但是当我把它转到经典时,它就停止工作了。
我应该解释一下“Page”是一个具有“RelativeUrl”和“AliasAddress”属性的数据库实体。任何想法有什么问题?
asp.net - 在 ActionResult 中将请求传回 IIS
我很确定答案是“你不能这样做”,但如果是这样,那么 ASP.NET MVC 就存在严重缺陷。
我有一个 ActionResult 需要提供静态文件(文件名在代码中确定)。出于性能原因(并且因为我不想为接受字节和缓存标头重新实现 HTTP 规范),我想将请求交给 IIS。就像 HttpModule 中的 context.RewritePath() 一样,当你给它一个静态文件的名称时。
除非这需要在 ActionResult 中发生,而不是在 PostAuthorizeRequest 期间。
查看 FileStreamResult 和 FilePathResult 类,很明显它们只实现了 HTTP 200。TransmitFile() 很好,但它不是内核缓存,它不处理 Accept-bytes、If-Modified-Since 或 Etags .
我们几乎被告知 IIS 在服务文件方面有多好,集成管道有多重要,IIS6 上的邪恶通配符映射对性能有多重要,等等。
现在我们又回到了同一条船上——没有办法让 IIS 从 ActionResult 中提供静态文件。(不,TransmitFile 不算在内)。
我什至已经开始看到 MS 建议您将静态内容放在单独的服务器上。
请告诉我我错了,有一种神奇的方法可以做到这一点。还是集成的白日梦被MVC杀死了?
c# - IIS 7 集成管道 - 修改响应 HTML
我正在尝试编写一个 IIS 扩展来修改请求的响应 HTML,因为它被发送回客户端。我知道传统上这将是 ISAPI 过滤器的工作,但是我是一名 .Net 开发人员,并且我读过在 .Net 中实现 ISAPI 过滤器是一个坏主意。
我在一些地方读到 IIS 7 闪亮的新集成管道模式现在应该允许我在 .Net 中编写模块,这些模块通过实现IHttpModule提供与 ISAPI 过滤器相同的功能,但是我不知道如何修改非 ASP.Net 请求的响应 HTML。
我找到的关于如何执行此操作的唯一资源是这篇文章,但这似乎不适用于非 ASP.Net 资源或在HttpApplication.CompleteRequest
被调用的情况下,即使启用了集成管道模式。
如何在 C# 中编写一个允许我修改所有请求的响应 html / 数据的 IIS 模块?