在iis上部署你的asp.net core web api项目及swagger
时间: 2023-08-26 21:02:52 浏览: 309
在IIS上部署ASP.NET Core Web API
5星 · 资源好评率100%
在IIS上部署ASP.NET Core Web API项目及Swagger可以按照以下步骤进行:
1. 首先,我们需要确保已经在本地系统上安装了ASP.NET Core Runtime和ASP.NET Core Hosting Bundle,以便在IIS中运行ASP.NET Core应用程序。
2. 在Visual Studio中,打开你的ASP.NET Core Web API项目。确保项目已经设置为IIS Express作为本地开发服务器。
3. 在项目根目录下的`Properties`文件夹中找到`launchsettings.json`文件,检查并确保该文件中已经配置了`applicationUrl`为`http://localhost:{port}/`,其中`port`为你希望的端口号。
4. 在Visual Studio的顶部菜单中,找到 `Build` -> `Publish {YourProjectName}`,选择发布目标为`Folder`,点击 `Publish`。
5. 在弹出的窗口中选择一个输出文件夹,用于存储发布项目的文件。
6. 打开发布文件夹,在该文件夹中应该有一个名为`web.config`的文件。双击打开该文件,确保其中有以下代码片段:
```xml
<aspNetCore processPath="dotnet" arguments=".\{YourProjectName}.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
```
7. 打开IIS管理器,右键点击`Sites`节点,选择`Add Website`。填写网站名称以及物理路径为刚刚发布项目的目录。
8. 对于应用程序池,选择一个合适的.NET CLR版本和托管管道模式(例如:.NET CLR版本为No Managed Code,托管管道模式为集成)。
9. 在网站的右侧,找到`Authentication`,禁用匿名身份验证并启用Windows身份验证。
10. 重新启动IIS。
11. 现在,我们可以在浏览器中访问`http://localhost:{port}`,应该能够看到你的ASP.NET Core Web API已经在IIS上成功部署。
12. 最后,要在部署的项目中添加Swagger,可以通过NuGet包管理器,添加`Swashbuckle.AspNetCore`包。
13. 在`Startup.cs`文件的`ConfigureServices`方法中,添加以下配置:
```csharp
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
});
```
14. 在`Startup.cs`文件的`Configure`方法中,添加以下代码:
```csharp
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1");
});
```
15. 重新发布并重新启动IIS,现在你的ASP.NET Core Web API应该在IIS上部署并且通过Swagger可以浏览和调用你的API接口。
以上就是在IIS上部署ASP.NET Core Web API项目及Swagger的步骤。请注意,确保按照正确的顺序执行每一步,并根据自己的项目配置进行调整。
阅读全文