我有一个生成文件的ASP.NET应用程序。问题是该文件具有多个点的名称(例如:52420.620993.20130910.010.epk)。名称采用此格式,但数字是动态生成的。如果我尝试通过超链接“打开”它或只是在地址栏中填写完整地址我得到404.3错误。我想打开一个下载框并下载此文件。
文件在那里,我检查过,但问题是IIS无法识别它。
顺便说一句。我使用ASP.NET 4.0和IIS 7.5
编辑: 我试过UrlEncode但没有运气...... 打开文件的代码是:
ScriptManager.RegisterClientScriptBlock(Me, Me.GetType(), "anyKey", "<script>window.open('epk/" & HttpUtility.UrlEncode(filename) & ".epk');</script>", false)
我也尝试在网络配置中添加:
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true" />
</system.web>
和
<system.webServer>
<handlers>
<add name="ApiURIs-ISAPI-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
答案 0 :(得分:0)
使用编码的网址转义特殊字符。
HttpUtility.UrlEncode
答案 1 :(得分:0)
我想,问题不在于点,尝试查看iis中的扩展程序设置,您的epk
扩展程序应添加到可用的扩展程序列表中。添加epk
,如此处所述http://geekswithblogs.net/frankw/archive/2008/04/10/configure-iis-to-host-silverlight-applications.aspx