2012-07-11 103 views
1

我正在创建一个自定义服务器控件,它将异步上传到服务器的文件。 该解决方案使用闪存元素将文件发布到通用Web处理程序aka ashx然后将发布的文件保存在所需的位置。自定义服务器控件和通用Web处理程序

它可以工作,但是通过这种方法,我确实需要在每个项目中创建ashx文件,以便处理flash元素的帖子。

我想实现的是完全封装的服务器控件,它将使用它自己的ashx(或任何可以替代它的处理程序)来上传文件。

可以吗?任何想法都会受到欢迎。

谢谢。

+0

根据我的经验,需要在异步上传控件旁边安装处理程序文件。难道你不能把它包含在你的客户端软件包中,并说明如何将它安装在适当的地方吗? – mellamokb 2012-07-11 16:20:05

回答

0

你可能是包含该控件的类库中的处理程序,然后只用<httpHandlers>部分注册它在web.config中:

<configuration> 
    <system.web> 
     <httpHandlers> 
     <add verb="*" 
       path="upload.ashx" 
       type="MyControl.MyUploadHandler.New, MyControl" /> 
    </httpHandlers> 
    <system.web> 
</configuration> 

,如果你使用的是IIS 7集成管道模式到<handlers>部分:

<system.webServer> 
    <handlers> 
     <add name="UploadHandler" 
      verb="*" 
      path="upload.ashx" 
      type="MyControl.MyUploadHandler.New, MyControl" /> 
    </handlers> 
</system.webServer> 

如果你正在使用ASP.NET 4.0,你可以检出PreApplicationStartMethod infrastructure它允许你动态注册处理程序:

[assembly: WebActivator.PreApplicationStartMethod(typeof(MyControl.StartUp), "PreApplicationStart")] 
相关问题