0

ASP.NET MVC 5 アプリを開発しています。コントローラーのコンストラクターでパラメーターを使用する必要があります。DefaultControllerFactory はそれを解決できず、そこから自分の ControllerFactory を継承しました:

public class ControllerFactoryProvider : DefaultControllerFactory
{
    public IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName)
    {
        string controllerType = string.Empty;
        IController controller = null;

        // Read Controller Class & Assembly Name from Web.Config
        controllerType = ConfigurationManager.AppSettings[controllerName];

        if (controllerType == null)
            throw new ConfigurationErrorsException("Assembly not configured for controller " + controllerName);
        // Create Controller Instance
        IDataTransmitter _dataTransmitter = new DataTransmitter();
        controller = Activator.CreateInstance(Type.GetType(controllerType), _dataTransmitter) as IController;
        return controller;
    }

    public void ReleaseController(IController controller)
    {
    //This is a sample implementation
    //If pooling is used to write code to return the object to pool
        if (controller is IDisposable)
        {
            (controller as IDisposable).Dispose();
        }
        controller = null;
    }

Global.asax に登録しました。

ControllerBuilder.Current.SetControllerFactory(新しい ControllerFactoryProvider());

しかし、アプリを実行すると、DefaultControllerFactory を使用してもパラメーターを持つコンストラクターが表示されませんでした。

どこでエラーが発生する可能性がありますか?

4

1 に答える 1