gpt4 book ai didi

c# - 我们总是需要使用 context.Server.MapPath 吗?如果我缓存结果怎么办?

转载 作者:行者123 更新时间:2023-11-30 18:04:23 25 4
gpt4 key购买 nike

我发现每次都使用 context.Server.MapPath 来确定 app_data 文件夹下某个已知目录/文件的物理位置很奇怪。我有一个理解,一旦应用程序正在运行,必须先关闭它才能更改其物理位置。如果这是真的,那么我可以在 application_start 上缓存 app_data 的物理路径,并在其执行生命周期内使用缓存值!

我需要专家对此事的意见。我的假设对吗?如果不重新启动应用程序,就不可能更改应用程序的物理路径,对吗?

如果这是真的,它将为我节省大量时间,而不必在每个奇怪的方法中将上下文作为参数包含在内!

方法接口(interface)的清晰度对我来说最重要,而 不符合这一点。

顺便说一句,我使用的是共享主机,所以我无法控制应用程序的物理位置。这重要吗?

最佳答案

路径是相对于当前请求的,所以 MapPath("foo") 可能对不同 url 的请求有不同的结果。但是,如果您的路径是相对于应用根目录 ("~/foo") 或相对于站点根目录 ("/foo") 的,您几乎可以缓存到您心中的内容。

可能存在人们在执行期间在 IIS 中添加虚拟目录的极端情况,但这几乎不可能,而且无论如何几乎都会造成痛苦。

关于c# - 我们总是需要使用 context.Server.MapPath 吗?如果我缓存结果怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6191566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com