访问数据库时在IIS 7.5上托管的WCF服务会引发错误400错误请求

时间:2011-07-11 12:41:26

标签: wcf iis-7.5

我有一个wcf服务,它有一个方法,它从基于SQL Server 2008的数据库收集信息后返回List。在开发模式下工作绝对没有问题,但是当我在IIS上运行服务并尝试访问从数据库获取信息的方法时,浏览器返回:“错误请求400”。当我调用一个不使用数据库的方法时,它会成功。

我真的很绝望 - 我进行了搜索,尝试了不同的东西,但没有任何效果。 谢谢,

1 个答案:

答案 0 :(得分:1)

这几乎肯定是权限问题。在不知道具体设置的情况下,有以下几点需要注意:

  1. 如果对SQL Server数据库使用Windows身份验证,请确保服务的应用程序池使用的身份对SQL Server数据库/表/等具有正确的权限。
  2. 如果对SQL Server数据库使用SQL身份验证,请确保连接字符串中的用户名/密码正确,并且在数据库中正确设置了权限。
  3. 除非您使用模拟或在IIS中的站点级别指定了特定用户,否则可能是上述之一。

    我的猜测是您使用Windows身份验证连接到SQL Server数据库而您没有specified an App Pool Identity。我的建议是为您的应用程序池(域\用户名)使用特定帐户,然后为该帐户授予适当的数据库权限。

    您还应该configure tracing捕获真正的异常。