gpt4 book ai didi

c# - 如何在 Azure 网站中对本地磁盘进行文件引用?

转载 作者:行者123 更新时间:2023-12-03 03:13:51 25 4
gpt4 key购买 nike

在我的 Azure 网站中,Web.Config 的 AppSettings 部分中有一些对磁盘上文件的引用。当部署到 Azure 时,这些引用就不再重要。我知道您可以在Azure环境中覆盖Web.Config中的AppSettings。但是那里的文件结构是什么?

我必须解决的 web.config 中的几个示例:

<add key="DataMapPath" value="d:\inetpub\MyWebApp\App_Data\map.xml"/>
<add key="CuteWebUI.AjaxUploader.TempDirectory" value="C:\Temp\WebApp\Attachments\UploaderTemp"/>

第一个文件告诉我们的代码在 App_Data 目录中查找 map.xml 文件。最后一个告诉我们的上传控件将文件上传到哪里。我也许应该在这里使用 Azure Blob 存储,但这需要对我们的代码进行一些重大重构。

关于这个主题有一些最佳实践吗?

我们的 WebApp 今天正在生产中运行,但我想尝试一下 MS Azure。但我不想做很多代码更改以使其在 Azure 中工作。我还读到您可以启动虚拟机(Windows Server),但这对于我现在的需求来说太过分了。我们最终可能会这样做,但出于测试目的,它应该变得简单。

关于如何解决这个问题有什么建议吗?以前有人这样做过吗?我猜有人有。确实如此。

如果我确实对我的网站的文件系统有读写访问权限,我也许可以使用这个:

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TheFolder");

这适用于本地部署和 Azure 部署。但随后我必须对我们的代码进行一些更改。

最佳答案

您有多种选择:

选项 1:使用 App Settings您的网络应用程序来为您的网站设置自定义设置。

选项 2:创建多个版本的 web.config(Visual Studio 支持此操作)并将不同版本部署到 Azure 和本地计算机

选项 3:使路径相对于 Azure Web App 环境变量的路径

您的 Azure Web 应用程序中有一个 HOME 环境变量,它解析为您网站的等效 inetpub。您的应用程序数据文件夹位于 %HOME%\site\wwwroot\AppData。

Azure Web Apps 和本地计算机上还有一个 TEMP 环境。您可以进行与 TEMP 环境变量值相关的第二个设置。

关于c# - 如何在 Azure 网站中对本地磁盘进行文件引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32272367/

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