我正在使用Visual Studio Web安装项目来安装扩展Project Server功能的应用程序。我想从我的安装项目的一个自定义操作中调用PSI(Project Server Interface)中的方法,但是每次获得“401 Unauthorized access”错误。我该怎么做才能访问PSI?从控制台应用程序使用时,相同的代码可以正常运行。
答案 0 :(得分:3)
听起来在控制台情况下,您使用的是当前用户凭据,可以访问PSI。从Web运行时,它正在运行IIS应用程序实例的信誉。我认为您需要设置委托以将会话信用传递给IIS应用程序,或者为可以访问PSI的IIS应用程序使用一些静态信用。
答案 1 :(得分:2)
我终于找到了答案。您可以使用适当的用户,密码和域令牌调用LoginWindows PSI服务,将凭据设置为NetworkCredentials。然后,只要凭证是显式的,您就可以调用任何PSI方法。否则,使用DefaultCredentials会出现Unauthorized Access错误,因为msi是使用本地系统帐户运行的。