ASP.NET代码隐藏中的当前工作目录 – 我们可以依赖它吗?

我们可以依赖ASP.NET代码隐藏中的当前工作目录吗?或者,换句话说,我们可以使用相对路径,并确保它们可以工作吗?

如果在网站的一个页面中,我将当前工作目录设置为特定的,那么下次加载网站上的另一个页面时它是否仍然相同?加载网站上的同一页面时?

如果我将当前工作目录设置为特定的,在Page_Load()中,我可以确定在调用Page_PreRender()时它仍然是相同的吗?或者同一网站上的另一个页面可以在我之间进行更改吗?同一个应用程序池中不同网站上的页面是否会改变它?在不同的应用程序池中的不同网站中的页面?

换句话说,IIS中当前工作目录的范围是什么?它是否特定于页面?它是否特定于网站?或者它是在应用程序池中的所有页面之间共享的?

在页面,网站,应用程序池和服务器之间的哪些边界隔离了当前工作目录的不同值?

解决方法

Environment.CurrentDirectory是围绕
GetCurrentDirectory和
SetCurrentDirectory winapi功能的简单包装器.实际上,尝试设置目录需要UnmanagedCode权限.每当某个功能阻止您的网站以部分信任方式运行时,您都应该谨慎依赖它.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。