问题描述: 在ASP.NET Core 2.2中,使用VSCode进行本地开发时,可以成功进行GET调用,但在IIS上部署后却失败了。
解决方法:
首先,确保你的应用程序已经正确部署到IIS上,并且所有的依赖项和配置都正确。
确认你的IIS服务器已经正确配置了ASP.NET Core模块。你可以通过打开IIS管理器,选择你的应用程序池,然后选择“模块”来进行确认。确保“AspNetCoreModuleV2”已经添加到模块列表中。如果它不存在,你可以通过运行以下命令来安装它:
dotnet --add-package Microsoft.AspNetCore.App
services.AddMvc(options =>
{
options.EnableEndpointRouting = false; // 禁用新的端点路由系统
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
app.UseMvc();
[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok("GET请求成功");
}
}
如果你的应用程序中使用了HTTPS,确保你的IIS服务器已经正确配置了SSL证书。你可以通过打开IIS管理器,选择你的网站,然后选择“绑定”来进行确认。确保你的SSL证书已经正确绑定到你的网站上。
最后,重新启动你的IIS服务器,并确保你的应用程序已经重新加载。
通过以上步骤,你的应用程序应该能够在IIS上成功进行GET调用了。如果问题仍然存在,你可以查看IIS的日志文件以获取更多的调试信息。