0

我编写了一个 ASP.net Web 应用程序。为了遵循“实用程序员”中的建议来配置应用程序逻辑,我编写了一个描述各种业务规则的大型 XML 文件。

当我在本地开发工作站上测试应用程序时,我将文件复制到c:\xxxxx\myfile.xml然后编写代码以从该位置读取文件。

将此 xml 文件部署为我的 Web 应用程序的一部分以便从部署 Web 应用程序的目录中读取它的正确方法是什么?

更新:有问题的 XML 文件用于服务器端配置,并且永远不能下载给最终用户。

4

4 回答 4

4

如果您不将此作为资源嵌入,您应该:

  1. 创建该文件所在的目录。
  2. 创建文件并将其构建操作设置为内容。
  3. 在该目录中创建一个 web.config 文件,该文件禁止访问该目录,这样您就不会将业务规则暴露给 Internet。
  4. 在应用程序的主 web.config 中添加一个设置,该设置提供此文件相对于应用程序根目录的路径,即“~/MySecureFolder/MyBusinessRules.Xml”。
  5. 有一些代码调用HttpServerUtility.MapPath 方法将值从 web.config 中的设置转换为虚拟路径。
于 2012-06-08T16:24:58.493 回答
0

我不知道这是否是您想要的 - 单击 XML 文件,然后打开属性窗口并找到“构建操作”属性。将值设置为“嵌入式资源”

于 2012-06-08T16:16:32.443 回答
0

我认为你需要做的是:

  1. 将 XML 文件添加到 Visual Studio 中的 Web 应用程序项目
  2. 右键单击文件并选择“属性...”
  3. 构建操作设置为“内容”并将复制到输出目录设置为“不复制”

这将确保您的 XML 文件与您的 Web 应用程序的其余部分一起部署。

于 2012-06-08T16:19:40.700 回答
-1

如果您希望通过 http 请求将 XML 文件提供给您的服务器,您应该将它放在您的 Web 发布文件夹中。

此 ASP 指令应该可以帮助您找到发布路径:Request.ServerVariables("APPL_PHYSICAL_PATH")

于 2012-06-08T16:17:56.170 回答