将Asp.net web api 发布到IIS
1.IIS基础配置,安装IIS management, 安装Web deploy等等
2.IIS界面选择 网站(site),右键->部署->启用 Web Deploy


写发布URL的时候一定注意,默认的URL是servername:port, 实际要改成 ip:port
在VS发布中填写时要与此URL保持一致
3.发布完成后,还遇到了一个问题。api项目中配置了swagger,但是打开localhost:port/swagger时报404
测试的api全是post,所以在项目中特意加了个Get方法的接口
[HttpGet("GetApi")] public string TestGet() { return "Got it"; }
测试浏览器打开localhost:port/GetApi
返回正常,也就是网站可以正常工作,swagger无法打开。
查了一些相关资料后
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApplication1 v1"));
}
...
}
是在开发环境下才启用Swagger配置,注释if,测试网址,搞定。
个人公众号


浙公网安备 33010602011771号