5

私はMVC 4を使用しており、この単純なダミーの ValueProvider があります。

class DummyValueProviderFactory : ValueProviderFactory
{
    public override IValueProvider GetValueProvider(ControllerContext controllerContext)
    {
        return new DummyValueProvider();
    }

    private class DummyValueProvider : IValueProvider
    {
        public DummyValueProvider()
        {
        }

        public bool ContainsPrefix(string prefix)
        {
            return true;
        }

        public ValueProviderResult GetValue(string key)
        {
            return null;
        }
    }
}

そして、Web API にファクトリを登録しようとすると、問題が発生します。

config.Services.Add(typeof(ValueProviderFactory), new DummyValueProviderFactory());

コンパイルはOKですが、サーバーが起動すると、 ArgumentException が表示されますThe service type ValueProviderFactory is not supported

私はこのチュートリアルこの他のチュートリアルを読みましたが、どちらもうまくいくはずだと言っています。私は何を間違っていますか?

4

1 に答える 1

4

MVC 名前空間ではなく、ASP.NET Web API 名前空間で ValueProviderFactory を参照していることを確認してください。どちらも同じクラス名ですが、名前空間が異なります。

于 2013-07-19T19:54:14.697 に答える