如何将 Web Api Controller 添加到不同的程序集中? 我想将 Web API Controller 与我的 MVC 应用程序分开。
最佳答案
WebApi 开箱即用。
DefaultAssembliesResolver 类是用于加载程序集以查找 ApiController 的类。这是源代码:
public class DefaultAssembliesResolver : IAssembliesResolver {
public virtual ICollection<Assembly> GetAssemblies() {
return AppDomain.CurrentDomain.GetAssemblies().ToList();
}
}
诀窍是在第一次调用 web.api 服务之前将程序集加载到 AppDomain。
调用目标程序集中类的任何方法或简单地从中加载一个类型。例如:
var x = typeof (YourApiControllerInAnotherAssembly);
如果您使用的是旧版本的 WebApi,请尝试实现 IAssembliesResolver 并像这样更改它的默认实现:
GlobalConfiguration.Configuration.Services.Replace(typeof(IAssembliesResolver),
new YourCustomAssemblyResolver());
关于c# - 将 Web API Controller 添加到不同的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22969037/