Custom Controller Factory не находит экспорт

Искомое имя контроллера - это правильное имя, и я знаю, что в контейнере есть этот экспорт с соответствующим именем. По некоторым причинам это не находит это. Я пытаюсь импортировать из DLL, что я положил в указанной папке в проекте. Он всегда будет пытаться вернуть контроллер по умолчанию, но не может найти контроллер dll, потому что его нет в главном каталоге проекта. Я знаю, что controllerFactory находит DLL, но не читает ее правильно.

Вот моя функция CreateController:

Public Function CreateController(requestContext As System.Web.Routing.RequestContext, 
        controllerName As String) As System.Web.Mvc.IController Implements 
        System.Web.Mvc.IControllerFactory.CreateController





    Dim controller As IController = Nothing

    If controllerName IsNot Nothing Then



        Dim controllerClassName As String = controllerName & "Controller"




       Dim controllers As IEnumerable(Of Lazy(Of IController)) = Me.container.GetExports(Of IController)()

        Dim controllerExport As Lazy(Of IController) = controllers _
                                             .Where(Function(c) c.Value.GetType.Name = controllerName) _
                                             .FirstOrDefault()



        If export IsNot Nothing Then
            controller = export.Value
        End If

    End If

    If controller Is Nothing Then
        Return Me.defaultControllerFactory.CreateController(requestContext, controllerName)
    End If

    Return controller

End Function

Если вам нужно что-то разъяснить, пожалуйста, дайте мне знать! Спасибо!

РЕДАКТИРОВАТЬ: Сообщение об ошибке в возврате Me.defaultControllerFactory.CreateController (requestContext, controllerName) является HttpException не обрабатывается пользовательским кодом. Путь к контроллеру 'CUContractNumberPlugin/ChangeCUNumber' не найден или не реализует IController.

Вот контроллер, о котором идет речь.

<Export(GetType(IController)), ExportMetadata("Name", "CUContractNumberPlugin")> _
Public Class CUContractNumberPluginController
    Inherits Controller

    <Import(GetType(IHost))>
    Private m_hostApp As IHost


    Public Function Index() As ActionResult
        Return View()
    End Function

    Function ChangeCUNumber(strCUNumber As String) As ActionResult
        m_hostApp.CUNumber = strCUNumber
        Return View("Index", m_hostApp)
    End Function

End Class

Это вызывается, когда я загружаю частичное представление в мой основной вид. Частичное представление таково:

@Using (Html.BeginForm("ChangeCUNumber", "CUContractNumberPlungin"))

    @Html.TextBox("strCUNumber")

End Using

0 ответов

Другие вопросы по тегам