问题标签 [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.

0 投票
2 回答
17169 浏览

asp.net - IIS7 集成与经典管道 - 使用更多 ASP.NET 线程?

使用集成管道,所有请求都通过 ASP.NET 传递,包括图像、CSS。

而在经典管道中,默认情况下只有对 ASPX 页面的请求通过 ASP.NET 传递。

集成管道会对线程使用产生负面影响吗?

假设我从 IIS 服务器请求 500 MB 二进制文件:

  • 使用集成管道,ASP.NET 工作线程将用于二进制下载(对吗?)。
  • 使用经典管道,请求直接由 IIS 提供服务,因此不使用 ASP.NET 线程。

对我来说,这有利于经典管道,因为我希望尽可能多的线程来服务 ASPX 页面。

我完全不在这儿吗?

0 投票
1 回答
3211 浏览

iis-7 - IIS7 ISAPI 过滤器模块和 HttpModule 事件 - 它们如何排列?

因此,集成管道模式下的 IIS7 使用 IsapiFilterModule 填充 ISAPI 过滤器 DLL 并在过滤器上触发正确的“事件”,这与经典模式下的 IIS 或 IIS7 的早期版本完全不同,因为这意味着 HttpModules 会立即触发集成管道模式下的 ISAPI 过滤器。

那么有没有人碰巧知道 ISAPI 事件(http://msdn.microsoft.com/en-us/library/ms524855.aspx)和 HttpModule 事件(http://msdn.microsoft.com/en-us/library /ms998536.aspx ) 排队?

0 投票
4 回答
14026 浏览

iis - 处理程序在 IIS7.5 集成管道上返回 404 错误

我在集成模式下遇到了 iis7.5 的问题。当我在上面介绍的经典模式处理程序中使用它时工作正常,但如果我切换到集成管道 - 所有应该处理的请求都返回 404 错误。为什么?

0 投票
1 回答
1606 浏览

iis-7 - IIS7 集成管道 - Response.End 未结束请求

在我们升级到 IIS7 中的集成管道之前,我有以下代码按预期工作。

之前执行此方法时,如果 clearCookies 为 true,则会向客户端发送响应并结束请求处理。现在在 Integrated Pipeline Response.End() 下似乎没有结束处理。页面继续运行,就好像从未调用过该方法一样。

最大的问题是,为什么以及发生了什么变化!

谢谢。

0 投票
2 回答
5016 浏览

asp.net - 将 IIS7 配置为通过 ASP.NET 运行时服务器静态内容

我搜索了一个高低,仍然找不到明确的答案。

如何在 IIS 中配置 IIS 7.0 或 Web 应用程序,以便 ASP.NET 运行时处理所有请求 - 包括对静态文件(如*.js*.gif等)的请求?

我正在尝试做的事情如下。

我们有一种 SaaSy 网站,我们可以为每个客户“打造品牌”。“品牌”意味着开发一个自定义母版页并使用一堆*.css和其他图像。

很自然,我正在使用VirtualPathProvider,它的操作如下:

基本思路如下:我们branding的 webapp 中有一个文件夹,该文件夹又包含每个“品牌”的文件夹,其中“品牌”等于主机名。也就是说,请求http://foo.example.com/应该使用来自 的静态文件branding/foo_example_com,而http://bar.example.com/应该使用来自branding/bar_example_com.

现在我想要 IIS 做的是将所有对静态文件的请求转发到StaticFileHandler,然后它将使用整个“基础设施”并提供正确的文件。但是,尽我所能,我无法配置 IIS 来执行此操作。

0 投票
1 回答
3626 浏览

asp.net - 检查是否处于集成管道模式

是否可以检查我们的代码是否在集成管道模式下执行?

有一些 ASP.NET 类属性只能在集成管道模式下工作,如果有办法测试我们的代码是否在该环境中执行,我想避免引发异常。

0 投票
1 回答
1767 浏览

asp.net - IIS7 集成管道模式:对于 Windows Auth,Context.User 间歇性地为空

我们的代码依赖于检查 Global.asax Application_AuthenticateRequest(...) 方法中的 Context.User.Identity 值来检索有关登录用户的一些信息。这在经典模式下工作正常,但是当我翻转 IIS 以使用集成管道时,“Context.User”返回为空,但只是间歇性的。任何想法为什么?

我在虚拟目录中启用了 < authentication mode="Windows"> 并且仅启用了 Windows 身份验证。

0 投票
2 回答
2740 浏览

c# - 如何以编程方式检测我的应用程序是否在 ASP.NET 页面内以 IIS 7.0 集成模式运行

一般来说,我们应该控制我们的 AppPools 并能够强制使用托管管道模式。在我的情况下,我没有控制权,并且希望基于托管管道模式(集成与经典)稍微不同地实现代码背后的代码。我只是不知道如何检测到这一点。有没有一种简单的方法可以从页面后面的代码中做到这一点?

0 投票
2 回答
8627 浏览

c# - HttpModule.Init - 在 IIS7 集成模式下安全地添加 HttpApplication.BeginRequest 处理程序

我的问题与以下类似但不完全相同:

为什么我的主机 (softsyshosting.com) 不支持 BeginRequest 和 EndRequest 事件处理程序?(我还阅读了其中引用的 mvolo 博客)

目标是使用通过 system.webServer 配置集成的普通 HttpModule 成功地将 HttpApplication.BeginRequest 挂接到 IHttpModule.Init 事件(或模块内部的任何位置)中,即:

  1. 入侵 Global.asax 或
  2. 覆盖 HttpApplication (该模块旨在自包含和可重用,因此例如我有这样的配置):

    /li>

到目前为止,我尝试将侦听器附加到 HttpApplication.BeginRequest 的任何策略都会导致以下两种情况之一,症状 1 是 BeginRequest 永远不会触发,或者症状 2 是在所有托管请求上引发以下异常,我不能从用户代码中捕获并处理它:

在 Init 中注释掉app.BeginRequest += new EventHandler(this.OnBeginRequest)当然会停止例外。Init 根本不引用 Context 或 Request 对象。

我努力了:

  • 删除了项目中任何地方对 HttpContext.Current 的所有引用(仍然是症状 1)
  • 测试从我的 OnBeginRequest 方法的主体中删除所有代码,以确保问题不是方法内部的(=异常)
  • 嗅探堆栈跟踪并仅调用 app.BeginRequest+=... 如果堆栈不是由 InitializeApplication 启动(= BeginRequest 未触发)
  • 仅在第二次通过 Init 时调用 app.BeginRequest+=(= BeginRequest 未触发)

有人知道一个好的方法吗?是否有一些在模块中挂钩 Application_Start 的间接策略(似乎不太可能)?另一个事件 a) 可以从模块的构造函数或 Init 方法中挂钩,并且 b) 随后是附加 BeginRequest 事件处理程序的安全位置?

非常感谢

0 投票
2 回答
4100 浏览

asp.net - IIS7集成管道模式比经典慢

我们在 W2008 R2 Standard 上运行复杂的 64 位 ASP.NET 2.0 应用程序,使用 VS2008 Team System 进行的压力测试表明集成管道模式比经典模式慢 30%。

我们已经广泛比较了应用程序跟踪,似乎集成模式比经典模式慢。也就是说,没有单点会导致集成模式的延迟。

这与微软所说的关于集成管道的一切完全相反,因此可能是集成模式或服务器的配置存在很大问题。但是我们还没有发现任何对此有任何影响的设置。可以找到一些关于 Sharepoint 和报告服务在集成模式下速度较慢的抱怨,但我们的应用程序不使用它们,因此这很可能是无关的。

有什么想法可能导致性能不佳或如何调试此问题?