MVC路由拦截物理MP3文件

时间:2012-01-04 19:58:30

标签: model-view-controller iis-7

我有一个MVC应用程序,其中包含一堆媒体,png,mp3等...

png文件服务很好,但mp3文件在MVC路由中被提取。

我已经将文档根目录更改为非mvc目录(只是指向内容目录)并且它可以很好地提供mp3,因此它不是iis问题,而是mvc路由问题。

所以......为什么它会抓住.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

1 个答案:

答案 0 :(得分:0)

这里我意识到这个实例上的配置实际上有一个mp3的重写规则.. nm ...