问题标签 [ihttpmodule]

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 投票
1 回答
128 浏览

c# - Setting session variable in class that implements IHttpModule error

I am trying to set a session variable in a class that implements IHttpModule. I receive a "Object reference not set to an instance of an object."

Here is my code:

Please help.

0 投票
1 回答
450 浏览

asp.net - WebPageHttpModule 是如何在我的模块之后注册的?

在我的 web.config<system.webServer>部分中,我添加了我的自定义模块:

然后在我的 HTTP 处理程序中,我遍历模块列表:

我得到了这个清单:

显然,我的模块是在所有内置模块之后注册的,除了 WebPageHttpModule 是在它之后注册的。

这是怎么发生的?我怎么可能确保我自己的模块最后注册?

0 投票
1 回答
8364 浏览

asp.net-mvc - 如何在 .NET Web API 项目中存储全局每个请求数据

我正在为我目前使用 ASP.NET Web 窗体编写的应用程序编写一个 Web api。我有一个模块,它在请求开始时获取一些数据并将其存储在 HttpContext.Current.Items 中,以便稍后在页面处理期间可用于所有代码。

我正在尝试编写我的 web api,它需要做同样的事情。存储在处理 Web api 控制器期间使用的“每个请求”全局数据的正确方法是什么(我怀疑它对于常规控制器也是一样的)。

此外,如果有办法这样做,是否有办法在实例化控制器之前运行的 IHttpModule 中设置此数据。

任何帮助表示赞赏!

0 投票
1 回答
1757 浏览

c# - ASP.NET 自定义错误处理 HttpModule 未重定向到所需的错误处理页面

错误处理 HttpModule 中有代码将用户重定向到适当的错误页面,但它没有这样做,而是显示错误页面以及包括堆栈跟踪在内的技术细节。

我在 Visual Studio 2008 下维护一个 Web 应用程序,以前在 Win XP 下运行它时运行良好,但是我们已经转移到 Win 7,当用户没有正确的查看权限时我遇到了这个问题选定的数据。我添加了必要的更改以使应用程序在 IIS 7 下运行,包括将 HttpModule 添加到文件的<system.webServer><modules>部分Web.config。我想知道是否还缺少其他东西?

这是问题的详细信息:我有一个 Web 表单,它使用 ObjectDataSource 调用 C# 服务层代码文件中的方法 GetAppData() 来向用户显示数据。服务层文件检查用户是否具有查看数据的正确权限,如果没有,它会抛出一个InvalidPermissionException. 然后这会触发 Application_Error 方法在我的错误处理 HttpModule 中执行,该方法会捕获错误并将用户重定向到InvalidPermissionError.aspx页面;但是,我看到的是带有技术细节和堆栈跟踪的错误页面。如何让它显示用户友好的错误页面?

以下是相关代码(我没有包含所有内容):

图 1:Web 表单

图 2:自定义错误处理 HttpModule

图 3:页面重定向代码

0 投票
1 回答
1893 浏览

asp.net - SharePoint 2013,自定义 IHttpModule NullReferenceException

更新:问题解决了。继续阅读。

知道为什么显然不可能再添加自定义 IHttpModules 了吗?

我的问题与:HttpModule.Init - 在 IIS7 集成模式下安全添加 HttpApplication.BeginRequest 处理程序有关 但是这个问题相当陈旧,没有答案,并且没有 SharePoint 上下文。我可以将我的HttpModule添加到任何标准的 ASP.NET WebForms 页面。

SharePoint 托管在 IIS 8 中。AppPool 在集成模式下运行。框架级别为 4.0+。

结果:

[NullReferenceException:对象引用未设置为对象的实例。] System.Web.PipelineModuleStepContainer.GetEventCount(RequestNotification 通知,布尔 isPostEvent)+30
System.Web.PipelineStepManager.ResumeSteps(异常错误)+1098
System.Web.HttpApplication。 BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +135
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +604

web.config 如下所示:

一旦我不再附加到 BeginRequest 事件,页面就会再次工作。但显然我的 http 模块变得毫无用处。

编辑 2013.09.19: Init() 在应用程序启动时被调用两次。如果我仅在第二次调用时附加我的事件,则应用程序可以工作,但事件不会触发。

编辑 2013.09.20:问题大概解决了。我的 Init() 方法被触发了两次(中间没有调用 Dispose())这一事实让我假设我的 IHttpModule 实际上可能有两个共存的实例。虽然我之前的观察表明第二个实例可以附加事件(不触发,但对应用程序也没有负面影响) - 反之亦然(我的静态 _isInitialized “锁定”就是这种情况) .

**因此 IHttpModule 的两个实例都需要具有相同的“配置”(附加事件处理程序)。运行多个 HttpApplication 实例是完全正常的。这是 ASP.NET(或 IIS)在内部为优化目的所做的事情。这是要记住的关键:)

0 投票
1 回答
625 浏览

wcf - 如何处理 WCF REST 服务中的压缩请求

我们在带有 .NET Framework 4.5 的 IIS 7 上托管了 WCF REST 服务。客户端正在发送带有请求标头的 GZip 压缩格式的数据:

但是如果请求是压缩格式的,我们会收到来自服务器的错误请求。我们通过实现将过滤/修改传入请求的 IHttpModule 启用请求压缩。据我了解,这是失败的,因为 WCF 使用原始内容长度(压缩数据的长度)而不是解压缩数据。所以这是我的问题:

有什么方法可以解决 IIS7/.NET 4.5 中的内容长度问题?我的 HTTP 模块实现如下:

如果在服务器端无法修复内容长度问题,有什么方法可以从客户端发送带有压缩请求的原始内容长度?客户端实现如下:

0 投票
2 回答
3980 浏览

c# - HttpModule - 需要在 OnError 命中时将用户重定向到特定页面

这是我第一次使用 HttpModules。我需要在现有的 ASP.NET 应用程序中创建一种“拖放”解决方案,通过将用户重定向到新的“ ErrorFeedback.aspx”页面来提供常见的错误处理。因此,当应用程序遇到异常时,用户将被重定向到ErrorFeedback.aspx他们能够在需要时提供有关错误的反馈的位置。我们目前有大约 300 个网络应用程序,因此看起来最有前途的“拖放”解决方案是HttpModule. 此 ErrorFeedback 页面将是一个新页面,也将添加到解决方案中。最终这些组件(DLL 和自定义网页)将在 Nuget 包中结束,但暂时需要手动将其复制/粘贴到现有解决方案中。

我听说在模块内进行重定向是不好的做法。OnError遇到时将用户重定向到特定页面的最佳做法HttpModule是什么?

0 投票
0 回答
556 浏览

asp.net - 阻止查看 asp.net 网站的 robots.txt 文件

如果有人键入http://somewebsite.com/robots.txt,他们将能够查看文件的内容。这将使黑客占上风。

我做了一些研究,发现 Apache 有一个解决方案。有没有人见过这个 asp.net 应用程序?

0 投票
0 回答
462 浏览

asp.net - 为 JS/CSS/Images 执行 HttpModule

问题:为 JS/CSS/Images 执行 HttpModule。

以下是当前配置/设置:

基础设施:

Microsoft Windows Server 2003 R2、企业版、Service Pack 2 上的 IIS 6.0

IIS VD 设置:

通配符应用程序映射到 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 未选中“验证该文件是否存在”

技术:

.NET 框架 4.0 + ASP.NET + ASP .NET Web API

Web.config 配置:

谢谢,阿米特

0 投票
2 回答
1034 浏览

c# - 将 javascript 添加到 DNN 的 httpmodule 中

我在 DotNetNuke 中有 httpmodule。如何将 javascript 文件添加到此 httpmodule?

我试过这个,但没有奏效:

并使用此代码(在另一个模块中工作)但它也不起作用: