using Microsoft.AspNetCore.Mvc;
[ApiController]
public class MyController : ControllerBase
{
[HttpGet]
[Route("api/values")]
public ActionResult> GetValues()
{
return new List { "value1", "value2" };
}
}
using Microsoft.AspNetCore.Mvc.ApplicationParts;
using System.Reflection;
public void ConfigureServices(IServiceCollection services)
{
var assembly = Assembly.GetExecutingAssembly();
var part = new AssemblyPart(assembly);
services.AddControllers().AddApplicationPart(part);
}
这里的Assembly.GetExecutingAssembly()方法获取当前应用程序集。使用AddControllersAsApplicationParts方法可自动发现并注册所有继承自ControllerBase类的控制器。
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
});
}