我正在运行一个asp.net应用程序(VS2008 / .net 3.5),当它在VS下调试时,它运行正常。
它可以愉快地从网络共享中读取文件和目录。
我可以运行“cleartool startview [动态视图名称]”好吧,我可以“快乐地”清理[vob]。
但如果我尝试测试vob中文件的存在,则无法看到它。
所以我尝试了不同的东西,我现在运行“cleartool ls -short -vob_only [filename]”来测试是否存在。
对于这两种方法,它在VS2008下运行良好,但在IIS部署后运行时无效。
我有设置,用户可以有效访问ClearCase。
有什么想法吗?
答案 0 :(得分:0)
如果您在开发期间使用内置网络服务器(Cassini),则网络服务器将以您的身份运行,并且可以访问您的网络驱动器等。另一方面,IIS使用不同的用户帐户,但不会共享您的用户配置文件,包括你的ClearCase观点等。这可以解释你的问题。
答案 1 :(得分:0)
我发现了问题并解决了这个问题。问题是ClearCase正在使用进程用户进行身份验证,而原始问题中提到的共享驱动器访问是使用线程用户。
原因是当访问ClearCase时它会产生一个新进程 - 而子进程总是使用父进程安全上下文而不是当前线程。
解决这个问题的方法是在自己的应用程序池中运行Web应用程序,该应用程序池作为具有访问ClearCase权限的用户运行。权利的膨胀超出了真正必要的权利,但它确实可以解决问题。