我正在c#.net中创建一个宁静的API应用程序。通过iisexpress在调试或发布模式下编译应用程序时。它按预期工作。我可以使用提琴手并像用户凭据一样在“ GET”中传递相应的参数,它将连接并得到200(http://localhost:49917/v2/Carriers)的响应。当我发布应用程序并将其部署在IIS(http://api.test1.net/v2/Carriers)中时。 IIS在我编译应用程序的位置安装同一台计算机。然后,我使用提琴手并传递必要的参数,以获得503的响应。我不确定为什么不起作用。我的应用程序池是以下设置: .Net CLR版本:v4.0 托管管道模式:集成 身份:LocalService(我也尝试过ApplicationPoolIdentity)
发布应用程序时,我使用以下发布方法:“文件系统”。
我已经在主机文件(windows / system32 / drivers / etc /)中添加了IP地址和主机名。我不确定为什么不起作用。
是什么使Visual Studio在调试/发布模式下与发布版本一样可以正常工作?
答案 0 :(得分:0)
我想让你们知道我做了你们的建议,我想出了答案。我需要在SQL Server数据库中添加一个新用户。
“在IIS APPPOOL \ ASP.NET v4.0下访问数据库 当我们使用ASP.NET v4.0应用程序池时,请确保将IIS APPPOOL \ ASP.NET v4.0添加到您的数据库服务器->安全性->登录名。”
在我添加了这个新用户“ IIS APPPOOL \ api.test1.net”之后,带有提琴手的api get请求按预期工作,响应为200。 “ api.test1.net”是我在IIS中的应用程序池的名称。
感谢您的所有推荐。