部署到IIS时出现异常:用户'IIS APPPOOL\DefaultAppPool'登录失败

Den*_*ail 24 wcf .net-4.0

我正在研究"Windows Communication Foundation 4 Step by Step"中的一些WCF示例.只要服务托管在casini中,我生成的应用程序就可以正常运行.将服务部署到本地IIS时失败.部署到IIS时,我可以浏览到IE中的svc页面.这样可行.

根据第41页的书,app pool帐户需要是我数据库中db_owner角色的成员.作者建议,在验证服务的正确地址(已经这样做)后,检查应用程序池帐户的权限.

如何验证托管我的WCF服务的应用程序池使用的帐户?目前使用默认应用程序池和IIS APPPOOL\DefaultAppPool是db_owner角色.IIS APPPOOL\ASP.NET v4.0也处于db_owner角色.

例外是......

System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\DefaultAppPool'.
Run Code Online (Sandbox Code Playgroud)

如何解决此问题?谢谢!

Den*_*ail 45

解决方案在这里:

  • 打开IIS
  • 双击"连接"下的PC名称
  • 单击"应用程序池"
  • 选择您的应用程序池(DefaultAppPool)
  • 然后在右键单击高级设置的操作下,
    • 转到流程模型部分和
    • 点击身份.
    • 现在选择NetworkService.

  • 选择NetworkService对我没有帮助,解决了我的问题是在Identity中选择Custom account选项并填写我的pc用户名和密码.谢谢你的指导 (4认同)
  • 现在开始出现错误:用户'WORKGROUP \\ machine $'登录失败。:( (3认同)