我的旧Windows服务应用程序中有一个类库项目,在其中托管了一些Api控制器。在该应用程序中,我在其中有以下代码
public class ApiControllerManger
{
private static readonly WebApiConfig OWebApiConfig = new WebApiConfig();
private static void RegisterApi()
{
OWebApiConfig.Register(ConfigurationManager.AppSettings["WebApiListener"]);
}
}
public class WebApiConfig
{
private HttpSelfHostServer _server;
public void Register(string url)
{
try
{
var config = new HttpSelfHostConfiguration(url);
config.Routes.MapHttpRoute(
name: "API",
routeTemplate: "{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
_server = new HttpSelfHostServer(config);
_server.OpenAsync().Wait();
}
catch (Exception ex)
{
}
}
}
我已经引用了库 System.Net.Http.dll System.Net.Http.Formatting System.Web.Http System.Web.Http.SelfHost
但是在主应用程序是控制台应用程序的.net核心应用程序中,我无法做到这一点,该控制台应用程序引用了我需要添加控制器的类库项目。 有没有人做过这样的实现?