0

我有一个生成文件的 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>
4

2 回答 2

0

我想,这个问题不在于点,尝试检查 iis 中的扩展设置,您的epk扩展应该添加到可用的扩展列表中。epk像这里描述的那样添加http://geekswithblogs.net/frankw/archive/2008/04/10/configure-iis-to-host-silverlight-applications.aspx

于 2013-09-10T06:56:37.457 回答
0

使用编码的 url 来转义特殊字符。

HttpUtility.UrlEncode
于 2013-09-10T06:52:29.413 回答