我正在IIS中托管WCF服务,并且遇到了如下所示的错误:
请求错误
服务器在处理请求时遇到错误。请看看 用于构造对服务的有效请求的服务帮助页面。该 异常消息是“用户登录失败”IIS APPPOOL \ TEST'。'。看到 服务器日志以获取更多详细信息
我使用此链接调用我的方法:http://192.168.1.111/TruckService.svc/getAllCompA
从浏览器我可以访问TruckService.svc
文件,只有这些方法会抛出错误。
这些方法显示在服务帮助链接中:http://192.168.1.111/TruckService.svc/help
不知道这是否有所作为?
没有太多信息可以使用,我向Google报错但似乎无法找到类似的问题。
任何想法?
答案 0 :(得分:0)
错误消息的这一部分告诉你很多,实际上:
“异常消息是'用户登录失败'IIS APPPOOL \ TEST'。'”
您没有在问题中提供大量信息,但我愿意打赌您的服务使用的是SQL数据库(Login failed for user
是一个相当常见的SQL错误)。
假设您的连接字符串是正确的,基于该错误您最有可能使用集成安全性,这意味着该服务正在尝试使用其运行的凭据登录到SQL,在这种情况下IIS APPPOOL\TEST
如果要继续使用集成安全性,则需要在具有登录SQL服务器的适当权限的帐户下运行该应用程序。或者,您可以更新连接字符串以使用用户名和密码。就个人而言,我更喜欢集成安全性。
最后,您是否根据建议的错误检查了服务器日志以获取更多详细信息?
<强>加强>
要查看/更改运行应用程序池的帐户,请转到IIS管理器(从开始菜单或从命令提示符处键入inetmgr
)。在左侧窗格中,展开树视图,以便您看到“应用程序池”节点,然后单击该节点。
选择应用程序池(在您的情况下为TEST
),右键单击并从上下文菜单中选择“高级设置...”。
这将打开一个新屏幕,您可以看到当前正在运行该应用程序池的帐户:
点击省略号(...
),这将打开另一个窗口,您可以在其中设置帐户:
单击自定义帐户的按钮,然后单击“设置...”。
最后,输入帐户(您可能需要输入域名,如MyCompany\UserName
),输入密码,确认密码并单击“确定”。
请注意,如果密码发生变化,则在通过上述步骤更新密码之前,应用程序池将不会运行。