在以前的版本中,你可以做以下的的WebAPI的:ASP.NET MVC 4的WebAPI条件MessageHandlers
RouteTable.Routes.MapServiceRoute<UserService>("1.0/User/", defaultWebApiConfiguration);
RouteTable.Routes.MapServiceRoute<SomeOtherService>("1.0/SomeOtherService/", largeFilesConfig);
这将让你有不同的服务不同的消息处理程序。这显然是不可能的,在新的框架:ASP.NET MVC 4 WebApi Support For Multiple HttpConfigurations
或者我有项目,我在WebApiConfiguration
编辑RequestHandlers
添加处理程序,如果某些属性存在这样的:
该代码是基于: http://haacked.com/archive/2011/10/19/implementing-an-authorization-attribute-for-wcf-web-api.aspx。这是不可能的,因为MessageHandlers
的HttpConfiguration
是不可设置的。
总而言之,我的问题是如何指定某些消息处理程序仅适用于某些ApiController服务而不是全部这些服务。看起来,ASP.NET MVC 4 WebApi框架已经过度简化了Web Api Beta的功能和可配置性。
如果您是自主主机,则可以创建多个服务。目前在Web主机中没有办法。 – 2012-03-29 02:59:02