Как получить путь к файлу класса физического контроллера выполняемого метода действия? - PullRequest
0 голосов
/ 21 декабря 2010

Предположим, что текущим методом выполняемого действия является Index () в контроллере Home. Как получить физический путь к файлу контроллера Home из Index ()? Предположим, мы не знаем файловую структуру до времени выполнения.

Ответы [ 2 ]

3 голосов
/ 21 декабря 2010

Физический файл (Controller \ Home.cs) может не существовать, так как контроллер скомпилирован в DLL-файл и по соглашению хранится в папке bin.

Если это DLL-файлВы хотите, вероятно, в папке bin, или используйте GetExecutingAssembly из контроллера.

Вы можете найти имя контроллера, используя:

Request.RequestContext.RouteData.Values["controller"];

Вы можете сохранить местоположение файлов .cs в вашем Web.Config, которое будет достаточно, чтобы найти их.(Остерегайтесь частичных файлов .cs).

Следующим шагом будет поиск метода контроллера, поскольку недостаточно найти метод с правильным именем.Вы должны соответствовать параметрам и атрибуту (HttpPost / ActionName).

1 голос
/ 21 декабря 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...