2013-03-21 76 views
0

我想创建一个自定义动作选择器。不带属性的自定义动作选择器

我已成功通过从IControllerConfigurationAttribute延伸,但这需要装饰我的服务与[CustomActionAttribute]

我想避免这种情况。我有一个自我托管的网络API服务,并希望插入HttpSelfHostConfiguration例如。我想要下面的东西。

new HttpSelfHostConfiguration(baseAddress) 
     .ControllerConfiguration 
     .Add(new CustomActionAttribute()) 

上面的代码不工作,但它描述了我试图去的想法。

我还没有看到任何这方面的例子或一个显示正确的注入点来设置自定义IControllerConfiguration

回答

1

如果你想要做的就是注册一个自定义操作选择,你可以这样做是正确的配置对象是这样的:

var config = new HttpSelfHostConfiguration(baseAddress); 
config.Services.Replace(typeof(IHttpActionSelector), new MyActionSelector()); 

在一般情况下,任何你能在控制器配置你应该能够在全局配置对象上执行正确的操作。

+0

谢谢,我刚刚测试过 - 这有效。 – Alwyn 2013-03-22 18:08:47