Net Core Web Api项目与在NginX下发布的方法

2020-03-17 14:02:19丽君

然后在Startup的ConfigureServices里注入这个对象;代码如下:

public void ConfigureServices(IServiceCollection services)
{
  services.AddControllers(); 
  services.AddTransient<IKiba,Kiba>(); //依赖注入 
}

然后在Controller的构造函数中,增加IKiba类型参数,代码如下:

public WeatherForecastController(IKiba _kiba)
{ 
  string name = _kiba.GetName(); 
}

这样,就完成了依赖注入,我们运行代码,在构造函数里打断点,测试一下,是否可以获取到值。

如上图所示,我们得到了刚刚注入的依赖。

发布

Net Core Web Api创建完成了,现在我们进行项目发布。

右键项目,选择发布,如下图:

点击后,弹出选取发布目标界面,如下图:

在界面中选择文件夹,然后在选择文件夹文本框中输入发布路径。

然后点击高级,弹出高级配置界面,如下图:

修改配置中的部署模式为【独立】,目标运行时为【win-x64】(因为我的测试机是X64的)。

然后点击保存,页面返回上一级,然后点击创建配置文件。

然后系统进入发布界面,如下图:

点击发布按钮进行发布,然后耐心等待。

如上图,项目发布成功,现在进入发布的文件夹,会看到很多文件,我们在其中找到CorePublishForNginX.exe;然后双击运行,测试一下是否可以访问。

双击后运行结果如下图所示:

WebApi项目启动成功,现在我们访问下http://127.0.0.1:5180/weatherforecast。

如上图所示,访问成功。

PS:这里需要注意,CMD窗口不能关闭,一旦关闭,网站会停止运行,因为CMD窗口是网站的宿主进程。

NginX下发布Net Core Web Api

现在我们使用NginX的反向代理,将客户的请求发送到NetCoreWebApi项目中。

首先进入官网下载NginX,点击nginx/windows-1.17.8,下载Windows版本的NginX,如下图所示。官网地址:http://nginx.org/en/download.html