下载时HttpHandler不保留文件名
我正在使用httphandler在我的ASP.NET Web应用程序中提供文档.我可以让它在一个我无法完全弄清的一个问题上工作正常 - 未保留文件名. 例如,如果我试图提供一个名为"新患者信息表格"的文档,并且我的处理程序称为" getDocument.ashx",则将文件下载为" getDocument.docx.docx"和" getDocument(1). docx"," getDocument(2).docx"等.每次下载文件时. 出于安全原因,我想使用处理程序而不是直接链接到文件.我将实际文档保存在app_data文件夹中,以免直接浏览. 这是我正在使用的代码.我已经切换了"附件"和"内联"之间的内容处置,但似乎都没有对纠正此问题有任何影响. public void ProcessRequest(HttpContext context) { if (!int.TryParse(context.Request.QueryString["ID"],
10 2024-04-26
编程技术问答社区
httpHandler-subfolder问题
我试图将我的旧Typepad博客重定向到我的新博客(永久301重定向),该博客使用WordPress运行.新博客也将在新服务器上. 旧博客具有以下结构: 新博客看起来像这样: 我正在使用我在网上找到并尝试使用的HTTP处理程序: public class MyHttpModule :IHttpModule { public MyHttpModule() { // // TODO: Add constructor logic here // } #region IHttpModule Members public void Dispose() { } public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(context_BeginRequest);
2 2024-04-26
编程技术问答社区
动态CSS-缓存问题?
我正在使用httphandler根据我阅读的技术来修改某些CSS(只有简单的颜色). 一切正常的效果都很好,我可以在页面上为用户提供指定所需颜色的选项.理想情况下,用户保存了他的新颜色,并且页面刷新我希望显示新颜色.但是,只有当我明确按浏览器重新加载或F5键时,它们才会通过. 我很欣赏某个地方(IIS或浏览器)的某些东西正在做一些有用的缓存我的样式表,而1000中的999次是我想要的,但是在这个特定的页面活动中,我希望能够强制重新加载并引起造成httphandler开火. 有人了解这是如何工作的,我该怎么办? 我尝试过的事情: Response.Clear(); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Expires = -1; Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
14 2024-04-26
编程技术问答社区
使用HttpHandlerFactory来渲染CMS和物理页面
我正处于编写CMS系统的中间,并且在阅读并撰写了一些示例之后,我已经在 httphandlerfactory 执行我需要的东西. 关键点是我们的站点通常是复制和注册过程的混合.因此,我目前需要使用默认的httphandler进行ASPX渲染物理注册页面,直到我也可以使用一种方式来管理它们. 创建处理程序类后,我将以下内容添加到我的网站的Web配置 当上面的路径处理物理和CMS驱动的页面时,在代码中进行了小检查,我可以查看该页面是否存在,然后可以呈现所需的页面. public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated) {
16 2024-04-26
编程技术问答社区
通过HttpHandler中的Windows API生成图片的缩略图
我使用以下代码在ASP.NET应用程序中创建图像的缩略图. using System; using System.Diagnostics; using System.Drawing; using System.IO; using System.Runtime.InteropServices; using System.Text; namespace RMA.Shell { public class ShellThumbnail : IDisposable { [Flags] private enum ESTRRET { STRRET_WSTR = 0, STRRET_OFFSET = 1, STRRET_CSTR = 2 } [Flags] private enum ESHCONTF { SHCONTF_FOLDERS = 32, SHCONTF_NON
2 2024-04-25
编程技术问答社区
配置ImageResizer Web.config,使其只在某些目录下工作
产品使用: Imageresizer.dll来自 http://imageresizing.net.net 我有一个用于客户的网站,我使用此产品来动态调整其在线购物车的图像大小.该产品效果很好!我最近添加了一个自定义的httphandler( mycustomSecurityHandler ),以控制需要确保需要确保的特定目录的访问.只要我不尝试使用Imagystring参数"宽度"或"高度"识别ImageReseresizer识别的MycustomSecurityHandler代码工作正常.如果未使用查询参数,则成像器忽略了请求,我的自定义httphandler会选择请求并完美处理安全性. 问题:如果用户在图像的直接路径中键入具有Imageresizer.dll识别的属性的直接路径,则忽略了我的自定义处理程序并显示图像. 期望的目标: 1)当路径匹配的情况下,无论提供的任何查询参数如何. (如果我删除了imageresizer.dll的web.config条目,
8 2024-04-25
编程技术问答社区
将iTextSharp.text.Document创建时的方向设置传播到打印对话框。
我使用ItextSharp通过使用 pagesize.a4.rotate()来设置其PAGESIZE来创建景观方向的PDF文档.该文档被馈入A 流,后来作为字节数组(在Varbinary字段中)保存到数据库中. Stream stream = new MemoryStream(); iTextSharp document = new Document(); document.SetPageSize(PageSize.A4.Rotate()); var writer = PdfWriter.GetInstance(document, stream) document.Open() // Write to the document document.Close(); byte[] file = stream.ToArray(); /* In the actual environment the byte array is stored in the database, to
14 2024-04-25
编程技术问答社区
什么是 "参数化查询......没有提供。"错误?
我在 上遇到了错误 "The parametrized query '(@blue nvarchar(4000))SELECT blueBallImage FROM CorrespondingBal' expects the parameter '@blue', which was not supplied." 我正在做一个httphandler. 我想从数据库中检索图像.我的代码如下. public void ProcessRequest (HttpContext context) { string image = context.Request.QueryString["image"]; SqlConnection con = new SqlConnection(@"Data Source=localhost;Initial Catalog=MyCloudGames;Integrated Security=True"); SqlComm
4 2024-04-24
编程技术问答社区
我怎样才能创建一个http处理程序,将所有流量重定向到HTML页面?
我们的公司希望将所有调用到我们的服务器上的HTML文件重定向到单独的页面. HTML页面不在ASP.NET应用程序中. 为了做到这一点,我一直在写作和IIS处理程序. 1)是否有可能将IIS处理程序添加到重定向静态内容,该内容无法由ASP.NET引擎提供,即服务器上的独立文件? 2)如果可能的话,我该怎么做?我在类库中创建了一个HTTP处理程序.在app.config中,我将处理程序添加到和各节中.我将DLL添加到GAC中,将HTML映射更改为自定义IIS DLL,什么也没有可行.从A到B有关于如何执行此操作的教程或解释吗? 谢谢. e P.S.我正在使用IIS 7.5 解决方案 默认情况下,IIS将处理带有扩展名的请求.这意味着未调用您的自定义HTTP处理程序.如果要托管代码来处理所有请求,则需要在Web.config中设置此配置:
8 2024-04-24
编程技术问答社区
注入到一个asp.net网站的httphandler中
我试图将服务注入我写的httphandler.但是我得到的只是一项无效的服务. 我创建了一个小示例来使用普通的ASP.NET网站来说明我的问题. public class MyHandler :IHttpHandler { [Inject] public IHelloService HelloService { get; set; } public void ProcessRequest(HttpContext context) { context.Response.Write(HelloService.Hello()); } public bool IsReusable { get; private set; } } 服务 public interface IHelloService { string Hello(); } public class HelloService : IH
6 2024-04-24
编程技术问答社区
使用IIS的通用处理程序解析错误
让我感到好奇的是,当我在Visual Studio ASP.NET开发服务器中运行Web应用程序时,通用处理程序正常工作.当我更改配置直接从IIS运行时,处理程序就死了. 这是一个图像处理程序,它写回了一个要在图像对象中渲染的字节.正如我所说,它在VS开发服务器中正常工作,但在IIS上失败了.它甚至没有被称为... 当我试图直接称呼它时我遇到的错误是: 解析器错误描述:解析期间发生了错误 服务此请求所需的资源.请查看以下内容 特定的解析错误详细信息并修改源文件 适当.解析器错误消息:无法创建类型 'yourimageHandler'.源错误:第1行: web.config上的处理程序: 通用处理程序在W
12 2024-04-24
编程技术问答社区
从webapi中的async DelegatingHandler读取async响应内容时出现死锁
问题 我正在使用WebAPI中的委托人来读取响应内容并将其审核到数据库. 当代码到达.readAssTringAsync()时,它似乎可以锁定并阻止其他请求完成.我只知道这一点,因为当我删除有问题的线时,它可以很好地工作. public static void Register(HttpConfiguration config) { config.MessageHandlers.Add(new ResourceAuditHandler()); } public class ResourceAuditHandler : DelegatingHandler { protected override async Task SendAsync(HttpRequestMessage request, Ca
4 2024-04-23
编程技术问答社区
我不能在Visual Studio 2010中向.ashx添加#region
我创建了一个通用处理程序(ASHX),但我正在尝试在代码中添加区域,例如以下 #region MyRegionName context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); #endregion 没有错误,但是没有扩展和崩溃的问题. 请有什么建议吗? 注意:我正在使用Visual Studio 2010 解决方案 嗨,我想我找出答案我的自我 在Visual Studio中转到: 1-工具 - >选项 - >选择文本编辑器. 2-在右窗格中添加一个扩展名" ASHX",然后从下拉列表中选择哪个编辑器使用.我选择Microsoft Visual C#. 3-在底部检查"映射无扩展到:上面相同的选择. 4-单击"确定"并关闭ASHX页面并重新打开. thx每个身体的答案 其他解决方案 这是设计,请参阅此处的说明
2 2024-04-23
编程技术问答社区
异步HttpHandlers和WriteAsync
我一直在Ayende Rahien的博客上尝试一些代码在这里演示使用异步httphandlers改善可以同时处理的请求数量. 不幸的是,我甚至可以获得起作用的基本示例.我会收到以下错误: 'system.io.textwriter'不包含" writeasync"的定义 并且没有扩展方法" writeasync"接受第一个论点 可以找到" system..io.textwriter"键入(您是否缺少使用 指令或组装参考?) 为线. return context.Response.Output.WriteAsync("Hello World!"); 我会想到该方法是在Net4中添加的扩展方法作为并行扩展的一部分,但是对于我的寿命,我可以找到正确的名称空间. 会将你们中的任何一个硬核Csharpers掉下来. 解决方案 查看和 http://msdn.microsoft.com/en-us/vstudio/async.aspx (under upda
4 2024-04-22
编程技术问答社区
HttpHandler重定向
我想编写一个httphandler,以将流量重定向到服务器上的各个网页. 用户将输入http://www.thisissupposedtoberedirected.com/site12,并应将其重定向到适当的网站,在此示例网站版本1.2 中 我知道如何在ASP.NET和C#中进行编程,但我似乎并没有抓住有关网站管理的细节. 我该如何完成此操作?我应该在web.config上做什么?我已经阅读了此 解决方案 httphandlers实际上是相当简单的组件. 首先,您需要创建一个继承IHttpHandler或IHttpAsyncHandler的类(为您使用,我建议IHttpHandler,因为实际上没有进行重重的举重). 然后您编译DLL并将其放在Web应用程序的bin文件夹中. 现在是棘手的部分.在Web.config文件中部署httphandlers非常棘手,因为IIS6,IIS7集成模式和IIS7 Classic模式之间的不同之处在于.最好的外观是此MSDN页
6 2024-04-22
编程技术问答社区
IIS7文件映射-.asax, .ashx, .asap
iis使我们还可以配置ASP.NET文件映射.因此,除了ASPX外,IIS还调用ASP.NET运行时,当请求具有以下文件扩展名时: a).ASCX-> .ASMX扩展名用于请求用户控件. 由于无法直接访问用户控件,因此如何以及为什么有人向用户控件发送请求? b).ashx->此扩展程序用于HTTP处理程序. •但是为什么要直接请求.ASHX页面而不是在配置文件中注册此处理程序,并在请求使用某些(非ASHX)扩展名的文件时将其调用? •此外,由于可以注册几个HTTP处理程序,因此ASP.NET将如何知道如果他们全部使用ASHX扩展程序,该处理程序将如何调用? •请求的ASHX文件包含什么?也许是HTTP处理程序类的定义? •我知道我们如何注册http处理程序时要调用非ASHX页面,但是我们如何为ASHX页面注册HTTP处理程序? c).asax->此扩展名用于请求全局应用程序文件 •我们为什么要直接致电global.asax? •
2 2024-04-21
编程技术问答社区
ASP.Net异步的HTTP文件上传处理程序
我正在尝试在C#中进行文件上传处理程序,该处理程序是异步的,可以通过Ajax异步请求提供有关文件进度的更新.基本上,如果请求是帖子,它将加载一些信息到会话中,然后启动上传,如果请求为a get get IT返回上传的当前状态(bytes上传,总字节等).我不确定它需要是一个异步处理程序,但是文件可能很大,所以我认为这会效果最好.对于基本的异步处理程序,我使用了与此 HTML和JavaScript $(function () { name = 'MyUniqueId130'; var int = null; $('#somefile').fileupload({ url: '/fileupload.axd?key='+name, done: function (e, data) { clearInterval(int); } }); $('#somefile').ajaxS
2 2024-04-21
编程技术问答社区
用户会话ID作为Ajax调用中的一个参数
我创建了一个 httphandler ,我将使用 jquery-ajax 来调用. 此 httphandler 将访问数据库,并检查与当前在用户中唱歌的相关的内容.. 使用会话签署了用户,并带有称为 user_id 的属性. Session["user_id"] = userId; 我试图在 httphandler 中检索此 session ,但这似乎不起作用. 所以我考虑将User_id发送为参数. var user_id = //Retrieved in some way... $.ajax({ url: 'QuestionRate.ashx?id=user_id', success: function (msg, status, xhr) { alert(msg); }, error: function () { aler
8 2024-04-21
编程技术问答社区