问题标签 [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.
.net - 如何在 ASP.Net 中捕获 HTTPResponseBody 数据?
从IHttpModule派生后,我编写了一个 HTTPModule ,如下所示。
StreamReader 代码抛出错误(确切的错误消息是:System.ArgumentException: Stream was not readable)。
如何读取 HTTP 请求的 ResponseBody。我正在使用.Net 4.5。谢谢你,约翰
asp.net - IHttpModule 在不同服务器上的行为不同
我正在开发一个应用程序,我正在使用 Visual Studio 2013 和 Visual Studio 2010 调试代码,并且代码在这两个程序中的行为不同。
在VS 2010中,执行完后面的代码并构建好页面后,执行结束。在 VS 2013 中,页面构建完成后,它会再次调用 IHttpModule 中的 context_BeginRequest(object sender, EventArgs e) 方法,我已经实现了该方法。
第一个问题是:为什么会有这个额外的调用?
第二个问题:IHttpModule 通过 GetVirtualPath() 获取路径,然后用它进行重定向。问题是:为什么路径得到的是起始页面的路径而不是它当前所在的页面?
c# - 在 web.config 中设置 IHttpModule.properties
我制作了自己的 HttpModule,名为“JsonLogger”,用于记录 json 请求和响应。
对于日志记录,我需要一个连接字符串。
为了找到连接字符串,我在 web.config 中添加了一个,然后通过代码获取它。
网络配置
Http模块
一切正常,但 imo 这并不干净(未来的开发人员不会知道为什么我的 web.config 中有那个连接字符串)。
我想填写我在 web.config 中添加 httpmodule 的连接字符串。我试过了,但这不起作用(就像我已经想的那样):
网络配置
HttpModule 中的属性
经过一番研究,我仍然没有找到一种方法来做到这一点。任何人都知道我想要实现的目标是否可行?
非常感谢,凯尔
c# - IHttpModule 处理经典 ASP 表单数据
我有一个经典的 ASP 页面,我想使用 IHTTPModule 将其包含在一些日志记录中。
我的问题是,如果我的模块在页面执行之前访问任何表单变量,那么只要访问第一个 Request.Form,我的 ASP 页面就会返回错误“80004005”。
如果我将我的模块挂接到在处理了 asp 页面之后发生的事件,那么 httpApplication.Context.Request.Form 集合是空的。
示例模块:
}
这是我的经典 ASP 页面。
asp.net - 在 ASP.NET 中记录序列化的响应内容,无需序列化两次
我想记录对我的服务的请求的响应内容,我想知道最好的方法是什么。以下是我的具体要求:
- 响应内容应该在整个管道中序列化一次。
- 仅响应内容,没有标头等。
- 日志记录适用于所有 API 的子集。
简而言之,我想为所有 API 的一个子集添加日志记录,同时尽可能减少开销。我不想为所有 API 添加日志记录的原因是因为我们有一个负载均衡器重复访问其中一个 API,并且记录这些请求对我们没有用处。
我见过的满足第一个要求的唯一示例使用 IHttpModule 并替换过滤器(例如,在 ASP.NET MVC 和 IIS7 中记录原始 HTTP 请求/响应)。但是,使用 IHttpModule 将记录所有 API 响应,这不符合要求 3。更换过滤器也不容易满足要求 2(标头在哪里结束,内容从哪里开始?)。
由于要求 2 和 3,我倾向于使用 ActionFilterAttribute 和 IFilterProvider 进行日志记录(例如http://haacked.com/archive/2011/04/25/conditional-filters.aspx/),但我还没有看到方法在这种情况下满足要求 1。
一个技巧是将 HTTP 内容作为序列化的 StringContent 而不是 ObjectContent 返回,但这违反了 ASP.NET 中的功能,例如选择 AcceptType。
asp.net-web-api - 为什么 Serilog(.Extras.)Web 的 ApplicationLifecycleModule.Init() 被调用了两次?
我在 IIS (7.5) 中托管一个 Web API 作为 下的应用程序"Default Web Site"
,并且正在使用来自 Serilog.Extras.Web 的几个 Enrichers(我将很快升级到 SerilogWeb.Classic 包)。我注意到在我的日志中每个请求ApplicationLifecycleModule.LogRequest()
都被调用了两次,我试图理解为什么。
我注意到它ApplicationLifecycleModule.Init()
被调用了两次,因此注册了两个事件处理程序。
第一个调用栈:
第二个:
难道我做错了什么?或者这是一个错误ApplicationLifecycleModule
?
javascript - window.location.href 在 Response.End() 之后不起作用
我尝试了其他类似问题的所有答案,但没有解决我的问题。
我有一个对 HttpModule 的 AJAX 调用。在 HttpModule 内部,我使用结束了请求
然后,在 AJAX 上的 .done() 上,我做了一个重定向
为了验证 window.location.href 是否可以在浏览器上运行,我在空白浏览器上对其进行了测试,它可以正常工作!
在 Response 过早结束后,可能有一些东西阻止了 window.location.href 的执行。谁能帮我解决这个问题?
c# - 静态 html 页面可以在 IIS 中进行后处理吗?
有一个 WebForms 项目,有一堆 aspx 和 html 页面。我想以与此处类似的方式对要在 HttpModule 中呈现的 html 标记进行后处理。对于有效的 aspx 页面。
但是,对于 html 页面,当我尝试从 读取时Request.InputStream
,它是空的,Request.InputStream.Length
等于 0。我做错了什么,是否可以使用 ASP.NET 引擎动态更改 html 页面的标记?
背景信息:我想根据用户权限有条件地删除一些 html 元素。
更新:
根据评论,我更新了 web.config 但无法获得预期的结果。当我点击 /my.html 页面时,请求到达我的模块,我可以读取 cookie、标头,但这不是我想要的。我想阅读 html 页面的内容并将更新的版本写入context.Response
. 为了以防万一(集成和经典模式),我尝试在 IIS 和 Cassini 中运行 webapp。
网络配置:
vb.net - Option Strict On 不允许缩小方法和委托之间的隐式类型转换
错误:Option Strict On 不允许缩小方法'context_beginRequest<ByVal sender As Object, ByVal e As WindowsAuthenticationEventArgs>'
和委托之间的隐式类型转换'<BeginRequest>'
对于代码:
context_BeginRequest 函数::
.....结束子
c# - 如何找到Http模块Assembly的物理路径
在我的 Web 应用程序中,我们使用的是 HTTP 模块,该模块已注册如下:
我想编辑这个模块的功能,在哪里可以找到上述模块的物理路径。
注意:在 Web 应用程序中没有为此模块提供程序集引用。Web.config 文件中的上述注册代码是模块和应用程序之间的唯一链接。