2

我正在使用 Visual Studio Web 安装项目来安装扩展 Project Server 功能的应用程序。我想从我的安装项目的一个自定义操作中调用 PSI(项目服务器接口)中的一个方法,但每次都会收到“401 Unauthorized access”错误。我应该怎么做才能访问 PSI?在控制台应用程序中使用相同的代码时,可以正常工作。

4

2 回答 2

3

听起来您正在使用当前用户凭据运行控制台情况,这些凭据可以访问 PSI。从 Web 运行时,它使用 IIS 应用程序实例的凭据运行。我认为您要么需要设置委派以将会话凭据传递给 IIS 应用程序,要么为可以访问 PSI 的 IIS 应用程序使用一些静态凭据。

于 2008-08-22T18:04:40.247 回答
2

我终于找到了答案。您可以调用 LoginWindows PSI 服务,使用适当的用户、密码和域令牌将凭据设置为 NetworkCredentials。然后,您可以调用任何 PSI 方法,只要凭据是明确的。否则,使用 DefaultCredentials 您将收到未经授权的访问错误,因为 msi 是使用本地系统帐户运行的。

于 2008-09-02T10:00:29.870 回答