假设当前执行的操作方法是Home控制器中的Index()。从Index()内部,如何获取Home控制器的物理文件路径?假设我们在运行时之前不知道文件结构。
答案 0 :(得分:3)
物理文件(Controller \ Home.cs)可能不存在,因为控制器被编译为.dll,按照惯例,存储在bin文件夹中。
如果是你想要的.dll,可能在bin文件夹中,或者在控制器中使用GetExecutingAssembly。
您可以使用以下命令找到控制器的名称:
Request.RequestContext.RouteData.Values["controller"];
您可以将.cs文件的位置存储在Web.Config中,这足以找到它们。 (注意部分.cs文件)。
找到控制器方法将是下一步,因为找到具有正确名称的方法是不够的。您必须匹配参数和属性(HttpPost / ActionName)。
答案 1 :(得分:1)
这会有所帮助:Get the Assembly path C#