Tag: httphandler

Server.Transfer到HttpHandler

我有一个带有以下ProcessRequest方法的IHttpHandler: public void ProcessRequest(HttpContext context) { int id = Convert.ToInt32(context.Request.QueryString[“id”] + 151); var xml = XDocument.Parse(“” + id + “”); context.Response.Write(xml); } 我正在尝试从aspx页面使用如下: protected void Page_Load(object sender, EventArgs e) { order o = new order(); Server.Transfer(o, false); } 我得到一个HttpException:执行处理程序’PostTest.order’的子请求时出错。 如果我改为尝试做转移,如: Server.Transfer(“~/order.ashx?id=65”, false) 我得到一个HttpException:执行/order.ashx的子请求时出错。 我做错了还是有另一种方法可以实现我的目标?

通用处理程序不在IIS上工作

令我好奇的是,当我在Visual Studio ASP.NET开发服务器中运行Web应用程序时,通用处理程序工作得很好。 当我更改配置以直接从IIS运行它时,处理程序就会死掉。 我真的不是这方面的专家,所以对我很陌生。 它是一个图像处理程序,它会写回要在Image对象中呈现的字节数组。 正如我所说,它在VS Development Server中工作正常,但在IIS上失败。 它甚至没有被称为…… 我试图直接调用它时得到的错误是: 分析程序错误说明:解析为此请求提供服务所需的资源时发生错误。 请查看以下特定的解析错误详细信息并相应地修改源文件。 分析器错误消息:无法创建类型’YourImageHandler’。 源错误:第1行: 有任何想法吗? 编辑: 更多信息: web.config上的处理程序: Generic Handler与Web项目位于同一个程序集中,整个过程在IIS 7上运行。

HttpHandler重定向

我想编写一个HttpHandler来将流量重定向到服务器上的各种网页。 用户将输入http://www.thisissupposedtoberedirected.com/site12并应重定向到适当的站点,在此示例站点版本1.2中 我知道如何在ASP.NET和C#中编程,但我似乎没有抓住有关网站管理的更精细细节。 我怎样才能完成这项工作? 我该怎么做web.config? 我已经阅读了这个msdn页面,但它没有多大帮助。

在ASP.NET中使用HTTP处理程序生成要在电子邮件中显示的图像

我正在生成条形码图像作为来自HTTP处理程序的响应,如下所示: public void ProcessRequest(HttpContext context) { context.Response.Clear(); context.Response.ContentType = “image/Jpeg”; MemoryStream ms = new MemoryStream(); Bitmap objBitmap = GenerateBarcode(context.Request.Params[“Code”]); objBitmap.Save(ms, ImageFormat.Jpeg); context.Response.BinaryWrite(ms.GetBuffer()); } 我去了http://www.MyWebsite.com/MyProject/BarCode.aspx?code=12345678 ,效果很好。 同样地,我在我的网页上粘贴了 ,效果很好。 但是我在HTML电子邮件中粘贴了相同的图像标记并且没有显示(至少在MS Outlook 2007中没有显示;我还没有测试过其他电子邮件客户端。) 我猜这在某种程度上与我正在使用HTTP处理程序有关,因为电子邮件中的其他静态图像显示正常。 如何修复此图像以便显示图像? (我不能只使用静态图像,因为代码是在发送电子邮件时确定的。) 更新: 事实certificate我没有注意到关键的细节。 图像不仅没有出现; 相反,图像src属性被替换为“ http://portal.mxlogic.com/images/transparent.gif ”。 我已经确定使用.aspx或.ashx扩展名触发了这个替换(或者除了那些预期用于.gif或.jpg等图像的扩展名),并且包含URL中的查询字符串也触发了这个,即使它是标准图像扩展。 我想这是一些过于热心的安全function。 所以包括像BarCode.aspx?code = 12345678这样的图像是行不通的。 我发现我可以执行类似 ,然后为名为BarCode.jpg的所有文件创建处理程序。 这里12345678 /不是一个实际的路径,但是因为我将请求重定向到处理程序,所以我可以从URL中的伪造路径中删除代码值。 但是,我可能不得不改变一些IIS设置来处理ASP.NET处理的.jpg文件的请求,并且我还想确保除了我的BarCode.jpg之外的其他 JPEG正常加载。 老实说,我不确定这是否值得麻烦。

我是否使用Web服务或HttpHandler来提供图像?

非常简单的问题..服务图像更好的是web.net服务或asp.net c#中的HttpHandler? 有什么不同 ? 为什么我更喜欢一个而不是另一个? 谢谢

仅当文件不存在时才会触发HttpHandler

我正在尝试创建一个HTTP处理程序来处理对文件夹的所有请求,但我只想在请求的文件不存在时触发它(EG:请求来自文件X,如果X存在我想要服务该文件,否则处理程序应该处理它)。 这些文件只是静态内容,而不是脚本本身,我认为它使它更容易但我似乎无法找到任何可以做到这一点的任何东西……任何人都有任何想法? 我认为它可以完成,因为IIS7重写模块可以管理它,但我看不出如何… 编辑只是为了澄清…处理程序是典型的情况,它不是error handling例程,而是实际提供适当的内容。 我只是希望能够将新文件作为单独的东西添加到文件夹中,或者作为处理程序将提供的内容的重载。

Response.Flush()抛出System.Web.HttpException

我有一个HttpHandler,我用它来处理客户端网站上的某些图像。 当我将图像流输出到响应对象并偶尔调用Flush时会抛出错误。 这是一个代码块 var image = Image.FromStream(memStream); if (size > -1) image = ImageResize.ResizeImage(image, size, size, false); if (height > -1) image = ImageResize.Crop(image, size, height, ImageResize.AnchorPosition.Center); context.Response.Clear(); context.Response.ContentType = contentType; context.Response.BufferOutput = true; image.Save(context.Response.OutputStream, ImageFormat.Jpeg); context.Response.Flush(); context.Response.End(); 从我读过的,这个exception是由于客户端在进程完成之前断开连接而没有任何要刷新的。 这是我的错误页面的输出 System.Web.HttpException: An error occurred while communicating with the remote host. The error code is 0x80070057. […]

.net HttpHandlers将管道传递请求到IIS6

有没有办法让Http Handler将请求传递回IIS 6并让它处理请求? 例如,如果我有一个Http Handler设置为verb =“(通配符)”path =“(通配符).txt” 我有一个名为myunformated.txt的文件,如果它没有连接查询字符串参数,我希望IIS 6将它发送给用户。 有任何想法吗?

ASP.NET添加httphandler来编辑下载的文件名

我的项目中有一个DownloadDocument.aspx页面,它的代码隐藏是DownloadDocument.aspx.cs 在我的DownloadDocument.aspx我有一个锚点,它采用如下动态链接: <a id="downloadLink" runat="server" style="margin:5px" href="https://stackoverflow.com/questions/12318715/asp-net-add-a-httphandler-to-edit-downloaded-file-name/”>Download current file 我想添加一个httphandler来控制下载的文件名,我该怎么做? 提前致谢。

如何从.cs文件asp.net调用HttpHandler

我已经为我的Jquery ajax调用创建了一个http处理程序。 哪个工作正常jquery调用如下所述 $.ajax({ url: “Services/name.ashx”, contentType: “text/plain”, data: { CustMobile: a, CustName: b, CustEmail: c }, contentType: “application/json; charset=utf-8”, success: function (data) { $(“#loading”).hide(); }, error: function () { $(“#loading”).hide(); } }); 现在我的问题是我可以通过后面的代码调用name.ashx处理程序。 我在使用带有C#的asp.net。 我知道可以通过Response.write(“”)编写整个脚本部分来调用它。 Ans还注册页面脚本方法。 但是有什么方法可以通过它向处理程序发送请求并使用c#从处理程序中获取响应。 谢谢。