gpt4 book ai didi

c# - 将 Web API Controller 添加到不同的程序集

转载 作者:行者123 更新时间:2023-11-30 13:37:29 27 4
gpt4 key购买 nike

如何将 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com