这是一个棘手我会很高兴如果你们能给我一些指针,在这一个。
这里是我想要做的:

  • 一个用户试图访问 myapp.com/data/123456.mp3

  • 测试。mp3不存在

  • 该系统发送用户 myapp.com/data/error.apsx?file=123456.mp3

我需要这个为了处理方法的一大系统应该服务的mp3文件。

如果一个用户试图访问myapp.com/otherFolder/notHere.whatever,该系统将返回的标准404错误。

我知道有方法可以规定,在IIS,但我喜欢它如果有什么我能做的编程方式或只是内。净的项目。

编辑:

我已经创建了一个网络。配置文件myapp.com/data/

<?xml version="1.0"?>
<configuration>
    <system.web>
      <customErrors mode="RemoteOnly" defaultRedirect="/data/mp3/full/serveMp3.aspx"/>
    </system.web>
</configuration>

这似乎不是工作。

有帮助吗?

解决方案

定错误。 http://aspnetresources.com/articles/CustomErrorPages.aspx

在你的网页。config。

<customErrors
       mode="RemoteOnly" 
       defaultRedirect="~/errors/GeneralError.aspx" 
/>

其他提示

第一件事你要做的就是确保ASP.NET 得到处理这些文件的请求由于通过默认。mp3不是一个ASP.NET 扩展,这将只是处理通过IIS。

两种方式实际上这样做一旦你处理它弹头脑。

第一是要创造一个HttpModule这表的OnUnhandledException事件。由于ASP.NET 抛出404的(和所有HTTP错误)作为HttpException类型的例外情况的模块将提供一个地方抓住,分析要求,并重定向到你自己的结束。

其他装置是创建一个网络。配置文件夹级别的你关心(可以将这些嵌套的记起)和创造customerror部分。这是更简单,但提供了多少控制。认为所有的东西我将赞成的模块。

也许你可以把一个网络。config indide的文件夹,你想要把一个特定的错误,并把在这webconfig的customerror标签与网页所表示 或者您可以使用的位置标记的内部主要网络。config

但我不确定这个

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top