我在Visual Studio中发布Web API时遇到问题。
在VS中,当我发布Web API时,它将作为dll发布,当我们有多个控制器时,它将把它们聚合成一个dll。
但是我的项目可以有不同的控制器,例如:
Android.cs
CoWorker.cs
TelegramBot.cs
当我发布项目时,我想在分离的DLL中发布控制器,因为我应该连续更新控制器,当我在特定控制器中出错时,我不能发布另一个。
请帮忙!
答案 0 :(得分:0)
您正在寻找的东西不会自行发生。如果您想要一种即插即用的体系结构,只需发布一个模块而无需重新发布整个解决方案。
要实现此目的,您需要将控制器/模块作为单独的项目(单独的库)移动。 ASP.NET Web API
的一个有用的配置功能是,它允许您定义用于发现控制器类型的程序集。
如果您有外部程序集且不属于Web API项目,则此功能非常有用。
您可以实施界面System.Web.Http.Dispatcher.IAssembliesResolver
GetAssemblies()
,甚至可以扩展DefaultAssembliesResolver
,如下所示。
public class CustomAssembliesResolver : DefaultAssembliesResolver
{
public override ICollection<Assembly> GetAssemblies()
{
//Your implementation here
}
}
您可以在以下链接中找到更多详细信息。
答案 1 :(得分:0)
我认为您正在寻找的是MICRO-SERVICE架构......
https://github.com/dotnet-architecture/eShopOnContainers
您可以使用.NET完整框架
或新的.NET Core(取决于你必须做什么)