如何有一个具体404为一个文件夹中的使用ASP.NET?
-
06-07-2019 - |
题
这是一个棘手我会很高兴如果你们能给我一些指针,在这一个。
这里是我想要做的:
一个用户试图访问 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
但我不确定这个