我已经编写了一个Windows服务,根据某些条件向Sharepoint列表中的用户发送邮件。
开发服务器是独立的Sharepoint安装,Windows服务正常运行。但是,生产环境具有驻留在不同服务器上的应用程序(Sharepoint)和数据库(SQL)。
因此,当Windows服务尝试打开列表时,它会显示“无法打开数据库”WSS_Content80“登录请求。登录失败。” 皮斯让我知道如何继续。我很久以来就对这个问题感到震惊。
答案 0 :(得分:1)
要快速解决问题,您可以执行的操作是为Windows服务运行的用户授予SharePoint应用程序的内容数据库权限。
但是你想以一种简洁的方式做到这一点我建议你为SharePoint编写一个计时器作业。这里不仅自动处理权限,而且如果需要,您也可以将其部署到多个Web应用程序并轻松管理。
关于主题的最佳文章是here MSDN或AC Article。
答案 1 :(得分:0)
另一个可能的答案是检查您的服务运行的帐户。将其作为更高权限的用户运行,例如充当您的应用程序池的帐户将起作用。
另一种可能的方法是研究SPSecurity.RunWithElevatedPrivledges方法。