标签: httphandler

httpModules不能在iis7上运行

我有以下模块

public class LowerCaseRequest : IHttpModule {
     public void Init(HttpApplication context) {
         context.BeginRequest += new EventHandler(this.OnBeginRequest);
     }

     public void Dispose() { }

     public void OnBeginRequest(Object s, EventArgs e) {
         HttpApplication app = (HttpApplication)s;

         if (app.Context.Request.Url.ToString().ToLower().EndsWith(".aspx")) {
             if (app.Context.Request.Url.ToString() != app.Context.Request.Url.ToString().ToLower()) {
                 HttpResponse response = app.Context.Response;

                 response.StatusCode = (int)HttpStatusCode.MovedPermanently;
                 response.Status = "301 Moved Permanently";
                 response.RedirectLocation = app.Context.Request.Url.ToString().ToLower();
                 response.SuppressContent = true;
                 response.End();
             }
             if (!app.Context.Request.Url.ToString().StartsWith(@"http://zeeprico.com")) {
                 HttpResponse response = app.Context.Response;

                 response.StatusCode = (int)HttpStatusCode.MovedPermanently;
                 response.Status = "301 Moved Permanently";
                 response.RedirectLocation = app.Context.Request.Url.ToString().ToLower().Replace(@"http://zeeprico.com", @"http://www.zeeprico.com"); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-2.0 httphandler httpmodule

16
推荐指数
1
解决办法
2万
查看次数

高性能ASP.NET站点(> 1000请求/秒)

我正在编写一个高性能的ASP.NET Json API,很快就会有> 1000个请求/秒.我的所有逻辑和处理都是在IHttpHandler中完成的.我通过秒表类测量,处理程序在大约0,1 - 0,5毫秒内完成一个请求.

但似乎IIS和/或其他HTTPHandlers(模块?)正在带走很多性能.我能以某种方式衡量吗?在配置为获得最佳性能时,IIS中的请求会产生多少开销?

将删除所有这些HTTPHandler帮助,还是有其他技巧来加快它?除了Session之外,我不需要太多的ASP.NET功能集(如果能够显着提升性能,甚至可以解决这个问题).

asp.net performance scalability httphandler

16
推荐指数
2
解决办法
7187
查看次数

IIS 7,HttpHandler和HTTP错误500.21

在IIS 7上,我正在尝试将自定义HttpHandler用于我的ASP.NET Web应用程序.我使用管道模式"经典",.NET版本是4.0.30319,我的处理程序的web.config配置是:

<system.webServer>
<handlers>
    <add name="MyHandler" path="*.myExtension" verb="*" type="Company.App.UI.Controls.MyHandler, Company.App.UI" resourceType="Unspecified" />
</handlers>
</system.webServer> 
Run Code Online (Sandbox Code Playgroud)

当我调用此处理程序时,我收到此错误:

HTTP Error 500.21 - Internal Server Error
Handler "MyHandler" has a bad module "ManagedPipelineHandler" in its module list
Run Code Online (Sandbox Code Playgroud)

我做了谷歌搜索时,大多数人通过重新注册ASP.NET通过ASPNET_REGIIS.EXE/i命令解决这个问题,但这不是为我工作(在命令完成后,我重新启动IIS,但同样的错误).我在两台不同的服务器上尝试过,但结果相同.

我还应该尝试什么?谢谢

asp.net iis iis-7 httphandler ihttphandler

16
推荐指数
3
解决办法
9万
查看次数

单元测试http处理程序?

我目前基于Asp .net的项目大量使用Http处理程序来处理各种请求?那么,有什么办法可以使用单元测试用例来测试每个处理程序的功能吗?我们正在使用Nunit和Moq框架来促进单元测试.

asp.net unit-testing httphandler

15
推荐指数
1
解决办法
5358
查看次数

禁止接收"路径选项"." ASP.NET网站中的例外情况

System.Web.HttpException: Path 'OPTIONS' is forbidden.自从我们将网站迁移到新的服务器设置后,我收到了错误.我无法重新创建错误,但我每天至少收到几次此类例外的电子邮件.什么可能导致这个以及我如何解决它?

编辑:堆栈跟踪:

at System.Web.HttpMethodNotAllowedHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Run Code Online (Sandbox Code Playgroud)

没有名为OPTIONS的目录或文件,我相信所有权限都是正确的.我找到了一些关于EXCEL从网络服务器获取数据的可能链接的信息,但没有完整的解释如何或正在发生的事情.

再次编辑:似乎这与在Internet Explorer中打开的Excel文件有关..

asp.net exception http httphandler

15
推荐指数
2
解决办法
1万
查看次数

如何在web.config中添加HttpHandler?

我写了一个httphandler来处理所有XSLT请求.

处理程序的名称是XSLTHandler.cs.

web.config中

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  <httpHandlers>
    <add verb="*" path="*.xsl" type="XSLTHandler" />
  </httpHandlers>
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息,不知道如何解决它.

配置错误说明:处理为此请求提供服务所需的配置文件时发生错误.请查看下面的具体错误详细信息并相应地修改配置文件.

分析器错误消息:无法加载类型'XSLTHandler'.

asp.net web-config httphandler ihttphandler

15
推荐指数
2
解决办法
3万
查看次数

使用C#HttpHandler webservice创建PNG图像

我希望能够创建一个简单的PNG图像,比如使用基于ac#web的服务生成图像的红色方块,从<img src="myws.ashx?x=100>HTML元素调用.

一些示例HTML:

<hmtl><body>
     <img src="http://mysite.com/webservice/rectangle.ashx?size=100">
</body></html>
Run Code Online (Sandbox Code Playgroud)

是否有人可以拼凑一个简单的(工作)C#课程来让我入门?一旦关闭和离开,我确信我可以完成这个以实际做我想要它做的事情.

  • 最终游戏是为数据驱动的网页创建简单的红色/琥珀色/绿色(RAG)嵌入状态标记,以显示性能指标等*
  • 我希望它能使用PNG,因为我预计未来会使用透明度*
  • ASP.NET 2.0 C#解决方案请...(我还没有生产3.5的盒子)

TIA

rectangle.html

<html>
<head></head>
<body>
    <img src="rectangle.ashx" height="100" width="200">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

rectangle.ashx

<%@ WebHandler Language="C#" Class="ImageHandler" %>
Run Code Online (Sandbox Code Playgroud)

rectangle.cs

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web;

public class ImageHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        int width = 600; //int.Parse(context.Request.QueryString["width"]);
        int height = 400; //int.Parse(context.Request.QueryString["height"]);

        Bitmap bitmap = new Bitmap(width,height);

        Graphics g = Graphics.FromImage( (Image) bitmap );
        g.FillRectangle( Brushes.Red, 0f, 0f, bitmap.Width, …
Run Code Online (Sandbox Code Playgroud)

c# png web-services image httphandler

13
推荐指数
1
解决办法
3万
查看次数

如何为HttpHandlers禁用请求验证?

是否可以禁用HttpHandlers的请求验证?

一点背景 - 我有一个使用HttpHandler的ASP.NET Web应用程序来接收来自WorldPay的付款响应.IIS日志显示正在从WorldPay正确调用处理程序,但从不调用处理程序内的代码.

如果我创建一个物理ASPX页面并在标头中设置ValidateRequest = false,并在Page_Load方法中放入相同的代码,则会毫无问题地调用代码.

这解决了这个问题,虽然我更喜欢坚持使用HttpHandler,因为它更适合这种类型的功能,而不是拥有一个空的ASPX页面,尽管这取决于能否禁用请求验证.

Web应用程序使用的是ASP.NET 2.0,服务器是IIS6.

asp.net validation httphandler request

13
推荐指数
2
解决办法
7007
查看次数

ASP.NET - 在代码中动态注册HttpHandler(不在web.config中)

可能重复:
在.NET中以编程方式添加HttpHandler的任何方法?

有没有办法可以动态注册IHttpHandlerC#代码,而不必手动将其添加到system.web/httpHandlersweb.config中的部分.

这可能听起来很疯狂,但我有充分的理由这样做.我正在构建一个WidgetLibrary,网站所有者只需将.dll文件放入他们的bin目录就可以使用,并希望以最少的配置支持web.config.

c# asp.net web-config httphandler ihttphandler

13
推荐指数
2
解决办法
1万
查看次数

什么是动词="*"?

任何人都可以告诉我,当我们在web.config中注册自定义HTTPHander时,如下所示

 <add verb="*" path="SampleHandler.new" 
    type="SampleHandler, SampleHandlerAssembly" />
Run Code Online (Sandbox Code Playgroud)

在这里verb ="*"的含义是什么?它的用途是什么?

asp.net httphandler

13
推荐指数
2
解决办法
4103
查看次数