Asp.net 自定义HTTP处理程序配置失败
我正在开发一个ASP.Net网站。 我已经创建了一个自定义HTTP处理程序,以响应使用.videoImage扩展名瞄准资源的请求。Asp.net 自定义HTTP处理程序配置失败,asp.net,web-config,httphandler,Asp.net,Web Config,Httphandler,我正在开发一个ASP.Net网站。 我已经创建了一个自定义HTTP处理程序,以响应使用.videoImage扩展名瞄准资源的请求。 以下是与我的处理程序对应的文件的第一行: <%@ WebHandler Language="C#" Class="CompleteSubtitles.VideoImage" %> using System; using System.Web; using System.IO; using SubtitleSounds.DataManagement;
以下是与我的处理程序对应的文件的第一行:
<%@ WebHandler Language="C#" Class="CompleteSubtitles.VideoImage" %>
using System;
using System.Web;
using System.IO;
using SubtitleSounds.DataManagement;
namespace CompleteSubtitles
{
public class VideoImage : IHttpHandler
{
...
}
}
使用制度;
使用System.Web;
使用System.IO;
使用数据管理;
命名空间完全子标题
{
公共类视频图像:IHttpHandler
{
...
}
}
处理程序文件位于网站根文件夹的子文件夹中。我已在我的网站根web.config文件中配置了我的处理程序,如下所示:
<configuration>
<system.web>
...
<httpHandlers>
<add verb="*" path="*.videoImage" type="CompleteSubtitles.VideoImage" />
</httpHandlers>
</system.web>
</configuration>
...
加载页面时,我收到一条ASP.Net错误消息,通知我加载CompleteSubtitles.VideoImage类型失败。有人知道为什么吗?
任何帮助都将不胜感激。如果没有确切的错误消息,我无法确定,但根据我处理程序和Web表单的经验,这是可行的:
- 你的处理程序不能是一个简单的VB/CS文件,即使你把它放在APP_代码文件夹中(从来没有和我一起工作过)。你需要一个DLL,我总是使用一个单独的类库
- 如果主机使用IIS 7,system.web/httpHandlers不工作,则需要添加system.webServer。我两个都留着以防万一。下面是一个示例(bNet.Ferramentas是我的DLL文件):
以下是我解决问题的方法:
我已经在我的应用程序代码文件夹中创建了一个代表我的处理程序的类。
我的处理程序文件的扩展名是“.cs”,而不是“.ashx”。
my web.config中我的处理程序的声明为:
<httpHandlers>
<add verb="*" path="*.videoImage" type="CompleteSubtitles.VideoImageHandler" />
</httpHandlers>
您必须指定类(httphandle)的全名,如下所示:
<configuration>
<system.webServer>
<handlers>
<add verb="*" path="*.sample" name="HelloWorldHandler" type="HelloWorldHandler"/>
</handlers>
</system.webServer>
</configuration>
希望能有所帮助。在“type”属性中,您需要给出程序集名称,然后键入名称,可能与您的案例类似type=“CompleteSubtitles,CompleteSubtitles.VideoImage”
<configuration>
<system.webServer>
<handlers>
<add verb="*" path="*.sample" name="HelloWorldHandler" type="HelloWorldHandler"/>
</handlers>
</system.webServer>
</configuration>