【发布时间】:2012-05-16 05:55:38
【问题描述】:
我正在使用 c# 开发一个 web 服务。可以使用过滤器(使用 HttpModule)拦截客户端请求。但是如何修改请求。我可以像这样获取请求
Stream InputStrm = App.Context.Request.InputStream;
我想解密请求并将其重新设置。我该怎么做??
【问题讨论】:
标签: c# .net web-services httpmodule
我正在使用 c# 开发一个 web 服务。可以使用过滤器(使用 HttpModule)拦截客户端请求。但是如何修改请求。我可以像这样获取请求
Stream InputStrm = App.Context.Request.InputStream;
我想解密请求并将其重新设置。我该怎么做??
【问题讨论】:
标签: c# .net web-services httpmodule
这取决于您使用的网络服务技术。如果您使用 Web API 或 MVC,则使用 ActionFilter。如果您使用 asmx,则使用 SoapExtension。如果您使用 WCF,则有各种扩展点。如果它只是一个网络请求,HttpModule 可以通过说HttpContext.Current.Response.Filter = new SomeFilter( HttpContext.Current.Response.Filter ) 来应用过滤器,其中SomeFilter 是类似public class SomeFilter : Stream { 的类。 Request.Filter 应该以相同的方式工作。 http://www.15seconds.com/issue/020417.htm 是一篇旧文章,但稍微介绍了这些 Response.Filter 类。
【讨论】:
public override Stream ChainStream( Stream stream ){