如何从 WebApi 二进制文件中检索控制器方法?

Posted

技术标签:

【中文标题】如何从 WebApi 二进制文件中检索控制器方法?【英文标题】:How to retrieve Controller methods from WebApi binaries? 【发布时间】:2021-12-19 02:57:34 【问题描述】:

我已经编译并发布了 API(ASP.NET Core WebAPI on `.NET5)。我想从另一个桌面应用程序 (WPF) 中检索控制器类中的方法列表。在以前的 .NET 版本中,我是这样做的:

Assembly assembly = Assembly.LoadFrom(assemblyPath);
var types = assembly.GetExportedTypes().Where(a => a.FullName != null && a.FullName.StartsWith("MyTestApp.WebApi.Controllers."));

...但这在.NET5 中不起作用,因为由于某种原因,在.NET5 中构建/发布项目时没有复制所有必需的dll。所以我正在寻找一种直接的方法来获取给定命名空间中的方法列表。

感谢您的帮助,

【问题讨论】:

【参考方案1】:

我已经为您Microsoft libraries missing when compiling .NET5 project 的相关帖子添加了答案,希望它能解决您的问题。

【讨论】:

【参考方案2】:

将您的 .dll 程序集放入 ILSpy 或类似的东西中,然后反编译它们?

【讨论】:

以上是关于如何从 WebApi 二进制文件中检索控制器方法?的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 MVC 发布到 WebApi

从 ASP.NET Web API 中的控制器返回二进制文件

如何从linux二进制文件中存储和检索数据

ASP.NET WebApi 从入门到"放弃"系列---WebApi 请求路由

如何从 HttpContent 检索 JSON 数据

如何从 Web API 获取十进制值 .00