在.net core 2.1控制台应用程序中,如何在类库项目中添加控制器?

时间:2018-10-24 15:36:29

标签: c# .net-core console-application asp.net-core-webapi asp.net-core-2.1

我的旧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核心应用程序中,我无法做到这一点,该控制台应用程序引用了我需要添加控制器的类库项目。 有没有人做过这样的实现?

0 个答案:

没有答案