问题标签 [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 投票
0 回答
83 浏览

asp.net - 以经典模式创建的虚拟目录出现 500.24 错误

经典模式下在 iis 中创建的虚拟目录。但是当我尝试访问时,我收到 HTTP 错误 500.24 - 内部服务器错误检测到 Asp.NET 设置不适用于集成托管管道模式

0 投票
1 回答
654 浏览

c# - 在 ASP.NET 4.5 中以编程方式获取模式应用程序池

我在 Windows 2008 R2 下运行 IIS 7.5(我在开发中使用 Windows 8.1)。
我在 Windows 8.1 中使用 VS 2012。
我使用 ASP.NET 4.5。我的项目 csproj 中的 .NET 4.5.1。

以编程 方式如何知道应用程序池模式是经典还是集成

0 投票
1 回答
1391 浏览

asp.net - 我可以告诉 IIS 8.5 在使用 httpErrors 时返回 404 吗?

我正在开发一个在 IIS 8.5 上运行的(Web 窗体)站点,目前正在为 404 和 500 设置错误处理。

我已经有了system.web>customErrors设置,但是由于我们在集成模式/更新版本的 IIS 下运行,它是从system.webServer>中提取的httpErrors

使用 IIS GUI,我选择在站点上用静态 HTML 文件替换标准 IIS 错误页面:

不幸的是,虽然显示了正确的错误页面,但不是返回 404,而是返回 200,对于 500 错误,返回 302 后跟 200。

对于旧版本的 IIS,或未在集成模式下运行的 IIS,您可以redirectMode="ResponseRewrite"customErrors元素上进行设置,这将解决此问题。

我已尝试设置所有三个existingResponse可用httpErrors选项,并尝试更新设置responseMode="File",但这些都没有改变。

httpErrrors有没有办法为元素做类似的事情?还是我坚持将错误指向 ASP.NET 页面并从那里返回适当的错误?

谢谢!

0 投票
1 回答
78 浏览

asp.net - ImageResizer 部署集成模式

我在部署使用 ImageResizer 制作的一个小测试项目时遇到问题。

它基本上是最简单的版本,只有几个 html 页面,然后是 ImageResizer 插件。

当我从 Visual Studio 2013 运行它时,它在本地工作,但在发布到服务器后,我得到的只是 500 错误(即使启用了详细的错误消息)。

我也看不到 resizer.debug.ashx 页面,所以我猜这是一些非常基本的设置问题。

我的 web.config 文件看起来像这样(在 VS 和服务器上):

我已验证服务器(Windows 服务器 2012R2)上安装了 4.6.1,并且 IIS 8.5 应用程序池设置为集成 + .net CLR 版本 4.0.30319。

我也尝试过使用经典模式,但它也不起作用。

0 投票
0 回答
75 浏览

asp.net - 使用 httpmodule 进行模拟,线程问题

我们拥有同时为多个客户运行的 SAAS 应用程序。所有客户都使用相同的应用程序,通过检查用于访问应用程序的 URL,用户被重定向到组织的正确数据。

在水下,每个组织都有自己的数据库。为了确保用户不会意外地进入错误的数据库,我们希望将正在执行的请求模拟给只能访问正确数据库的用户。我们曾经这样做,这在经典模式下的 IIS 上运行良好。

但是,在集成管道模式下,我们遇到了线程问题。我们使用 HTTP 模块在“PreRequestHandlerExecute”事件中模拟对正确用户的请求。(显然)无法保证此方法与实际处理请求的处理程序在同一线程中执行的问题。这会导致模拟有时无法工作,因为处理请求的线程没有被模拟。

我在 GitHub ( https://github.com/PaulVrugt/ImpersonationExample/tree/master/ImpersonationTest ) 中创建了一个测试项目,演示了这个问题(为 vb.net 道歉,但你会明白的)。当你运行使用集成管道模式连接到IIS的示例时,你会看到有时没有使用模拟用户,并且每次不使用时,处理请求的线程的managedthreadid与使用的线程不同http模块。

现在我明白了为什么它“有时”不起作用,我开始怀疑我做错了。有没有办法实现我想要做的事情?

我们已经尝试在 global.asax 中的 prerequesthandler 中进行模拟,但这会导致同样的问题。

0 投票
0 回答
509 浏览

c# - 集成流水线模式:上传2GB以上文件

虽然我已将 contentlength 的限制设置为 4GB 左右,但最大值如下

我得到以下错误

HTTP 错误 400.0 - 错误请求

ASP.NET 在 URL 中检测到无效字符。

我找到了一个链接,其中提到了这种行为的原因

https://blogs.msdn.microsoft.com/friis/2013/06/19/uploading-large-file-to-iis-7-5-or-8-using-file-input-element/

如果应用程序在 NET 4.5 集成管道下运行,则上传将无法在 2G 以上进行,并且 IIS 将发送以下错误:“HTTP 400.0 – 错误请求 ASP.NET 检测到 URL 中的无效字符。”。

当使用集成管道时,我们会通过不支持超过 2 GB 内容长度的 webengine 代码 (webengine4!MgdGetRequestBasics) 并引发 System.ArithmeticException 异常,随后导致 HTTP 400 错误。使用经典管道,我们不使用 webengine4,而是使用旧的 ASPNET_ISAPI 模型,我们没有遇到上述问题。

想问一下这在 IIS 10 和 .net framework 4.5 中是否仍然有效。

有没有可以设置的设置来解决这个问题?

0 投票
0 回答
1081 浏览

application-pool - IIS 日志给出 500 错误,在事件查看器中没有描述

我的应用程序采用混合技术(asp classic + asp.net)开发。最初它以“经典”管道模式托管在 IIS 上。我将应用程序池管道模式从“经典”升级到“集成”后,意外的 500 错误开始在 IIS 日志中记录而没有描述。

我做了很多研究,发现只有在池回收时才会发生这种情况。

谁能帮我解决这个问题?我被困在这一点上。

0 投票
0 回答
378 浏览

asp.net - ASP.NET httphandlers webconfig 文件集成模式

  • 问题是: 如果我完全删除hhtpHandlers部分它在集成模式下工作。如果我完全删除system.webserver部分它在经典模式下工作。如果我想在两种模式下工作(有时是经典和集成),所以我添加了两个部分,如上所示抛出exception 500 Internal server error。我想在集成和经典模式下工作而不使用 validateIntegratedModeConfiguration="false". 我们怎么能做到这一点?