2

我正在运行一个 asp.net 应用程序(VS2008/.net 3.5),当在 VS 下运行它时,它运行良好。

它愉快地从网络共享中读取文件和目录。

我可以运行“cleartool startview [动态视图名称]” ok,我可以愉快地“cleartool mount [vob]”。

但是,如果我尝试测试 vob 中是否存在文件,它就看不到它。

所以我尝试了一些不同的东西,我现在运行“cleartool ls -short -vob_only [filename]”来测试是否存在。

对于这两者,它在 VS2008 下运行良好,但在 IIS 部署后运行时将无法运行。

我有这个集合,并且用户可以有效地访问 ClearCase。

有任何想法吗?

4

2 回答 2

0

如果您在开发过程中使用内置网络服务器 (Cassini),则网络服务器会像您一样运行并且可以访问您的网络驱动器等。另一方面,IIS 使用不同的用户帐户并且不共享您的用户配置文件,包括您的 ClearCase 视图等等,这可以解释你的问题。

于 2009-08-04T11:33:32.213 回答
0

我发现了问题并解决了这个问题。问题是 ClearCase 使用进程用户进行身份验证,而原始问题中提到的共享驱动器访问使用线程用户。

原因是当访问 ClearCase 时,它​​会产生一个新进程——子进程总是使用父进程的安全上下文,而不是当前线程的。

解决此问题的方法是在其自己的应用程序池中运行 Web 应用程序,该应用程序池作为有权访问 ClearCase 的用户运行。权利的膨胀超出了真正必要的范围,但它确实起到了作用。

于 2011-01-07T09:39:37.267 回答