IIS7寄宿wcf,wcf中数据库访问连接字符串采用集成验证方式而导致客户端调用失败,如何解决?
数据库访问字符串采用集成验证方式:
Integrated Security=true;
此时,客户端调用wcf可能会提示“DomainName/ComputerName”登录失败的!就是说在服务在服务数据库时需要windows集成验证,而目前权限不足以使程序访问数据库。
我们可以从wcf寄宿的IIS7引用程序池入手解决:找到wcf使用的【应用程序池】名称,双击,在弹出的【编辑应用程序池】面板中,置.NET Framework版本为4.0,托管管道为集成后点击确定按钮;在【高级设置】面板中,【进程模型】下找到【标识】,设置其值项,在【应用程序池标识】面板中,选择【自定义帐户】,输入机器用户名、密码做为集成验证凭据。
再次运行客户端调用wcf,可以正常访问数据库!
当然,数据库访问不采用集成验证方式,而采用"User ID=userID;Password=psw "密码验证登陆,也就不存在此问题了。
可能每个人遇到的实际问题都不太一样,但解决方法大致相同,给其访问权限!