2012-01-04 97 views
0

我有一个包含了一堆媒体,PNG,MP3等目录的MVC应用程序...MVC路由拦截物理MP3文件

的PNG文件服务很好,但mp3文件越来越回升在MVC路由。

我已经将文档根目录更改为一个非mvc目录(只是指向内容目录),它提供了mp3的好处,所以它不是一个iis问题,而是一个mvc路由问题。

so ...为什么它抓住.mp3扩展名?我没有在他们的mp3任何途径......

抛出错误的是(不是有益)

[ArgumentNullException: Value cannot be null. 
Parameter name: key] 
System.Collections.Generic.Dictionary`2.FindEntry(TKey key) +12673141 
System.Collections.Generic.Dictionary`2.ContainsKey(TKey key) +9 
StructureMap.Util.Cache`2.get_Item(KEY key) +97 
StructureMap.BuildSession.CreateInstance(Type pluginType) +16 
Utility.StructureMapControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) in c:\xx\Utility\StructureMapControllerFactory.cs:18 
System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +85 
System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +280 
System.Web.Mvc.<>c__DisplayClass6.<BeginProcessRequest>b__2() +66 
System.Web.Mvc.<>c__DisplayClassb`1.<ProcessInApplicationTrust>b__a() +19 
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Func`1 func) +161 
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +405 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375 
+0

路由忽略扩展。您有一条匹配路径的路线 – SLaks 2012-01-04 20:00:49

+0

这不是,如果我将扩展名更改为.txt,它会将文件提供给该文件,因此它与扩展名无关。我有这个项目在另一台服务器上运行没有问题,所以...我不知道为什么它被拦截在这里.. – 2012-01-05 14:41:22

+0

和这里是我认识到这个实例上的配置实际上有一个重写规则的MP3就地.. nm .. 。 – 2012-01-05 14:45:44

回答

0

及此处,我意识到在这种情况下,配置竟然出现了重写规则到位MP3 .. nm ...