Alp*_*ğan 3 asp.net-mvc asp.net-web-api .net-5
我有一个包含多个项目的解决方案。其中之一用于仪表板 Web 应用程序,其中之一用于 API 项目。是否可以在同一个程序集中运行这两个应用程序?
例如,Web 应用程序将在“localhost:5001”上运行,API 项目将在“localhost:5001/api/”上运行。如果可能的话,它们会共享相同的内存缓存管理器吗?
是的,您绝对能够在同一个程序集中运行 API 和 Web 应用程序,即使它们来自不同的项目。您不仅可以做到这一点,而且非常快速且容易做到,并且可以为许多项目做到这一点。
由于我们在此示例中使用,.NET5因此我们假设您有两个控制台应用程序。一种用于您的 WebApp,另一种用于您的 API。
选择您想要 Luanch 的项目。在本例中,我们选择 WebApp。对于所有其他项目,将它们转换为console application并class library删除所有program.cs文件。
不言自明。
Startup.cs调用类库中的所有文件。ConfigureServicesConfigure参见下面的代码:
Startup.cs为其他文件添加一个变量到您的 WebApp文件夹Startup.cs并初始化:
private MyWebApi.Startup ApiStartUp { get; }
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
ApiStartUp = new MyWebApi.Startup(Configuration);
}
Run Code Online (Sandbox Code Playgroud)
现在从对应的函数中调用注册函数。
public void ConfigureServices(IServiceCollection services)
{
ApiStartUp.ConfigureServices(services);
// ... Rest of code
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
ApiStartUp.Configure(app, env);
// ... Rest of code
}
Run Code Online (Sandbox Code Playgroud)