2

我正在开发一个应用程序。使用 Common.Logging (http://netcommon.sourceforge.net/index.html)。一个简化的日志配置(在 web.config 中完成)如下:

<configuration>
   ...
   <arg key="configType" value="FILE" />
   <arg key="configFile" value="NLog.config" />
   ...
</configuration> 

正如您在此处看到的,配置指向后端日志记录框架的另一个配置文件(此处为 NLog.config)。

我的问题是:在 Azure 中部署时,我应该在此处指定什么路径(在 dev 上,NLog.config 在构建解决方案时被复制,并放在 bin 目录中)。换句话说,获取应用程序在 Azure 中部署的物理位置的最安全方法是什么?

提前致谢!

4

1 回答 1

2

在代码中,您可以使用Server.MapPath("/"). 现在,您只需确保将NLog.config文件部署到应用程序文件夹即可:

  1. 将 NLog.config 添加到您的项目中(在您的 Web 应用程序的根目录中)
  2. 将构建操作更改为内容

为了测试这一点,您可以右键单击您的 Azure 项目并选择Package。在 Azure 项目的bin\Release|Debug\app.publish文件夹中,您将找到一个*.cspkg文件。为这个文件添加一个 .zip 扩展名并用 WinRAR/ZIP/7zip/... 打开文件然后你会看到一个类似这样的文件:SomeWebRole_1a91f39a-49b7-4ece-873f-862172a2fa06.cssx。再次在这里,将 .zip 扩展名添加到此文件并打开它。

如果您导航到sitesroot\0文件夹,您将在 IIS 中看到 Web 应用程序的文件,包括 NLog.config 文件。这样,您可以简单地在 Common.Logging 设置中引用 NLog.config 文件:

在此处输入图像描述

于 2012-09-03T08:38:41.170 回答