2013-03-21 64 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