我在 global.asax 文件的 Application_Start() 方法中编写了以下代码。在这段代码中,我在应用程序状态中保存了一个名为 allowedLogTypes 的列表
Application["user"] = 0;
List<string> allowedLogTypes = new List<string>();
string logTypes= System.Configuration.ConfigurationManager.AppSettings["LogType"];
List<string> lstLogTypes = logTypes.Split('|').ToList<string>();
if (lstLogTypes.Contains(LogTypes.DEBUG_LOG))
{
allowedLogTypes.Add(LogTypes.DEBUG_LOG);
}
if (lstLogTypes.Contains(LogTypes.INFO_LOG))
{
allowedLogTypes.Add(LogTypes.INFO_LOG);
}
if (lstLogTypes.Contains(LogTypes.WARN_LOG))
{
allowedLogTypes.Add(LogTypes.WARN_LOG);
}
if (lstLogTypes.Contains(LogTypes.WARN_LOG))
{
allowedLogTypes.Add(LogTypes.WARN_LOG);
}
**Application["AllowedLogTypes"] = allowedLogTypes;**
GlobalConfiguration.Configure(WebApiConfig.Register);
我的问题是我无法访问 LogHelper.cs 文件中的应用程序状态
namespace Reporting.Helper
{
public class LogHelper
{
public static void WriteLog(ApiInfo apiInfo, MethodBase methodBase, string LogType, Exception ex, string logMessage)
{
List<string> allowedLogTypes = **Application["AllowedLogTypes"];**
if (allowedLogTypes.Contains(LogType))
{
var logTime = UtilityHelper.CurrentDateTime();
ThreadPool.QueueUserWorkItem(task =>
{
PushAppLogInDB(methodBase, apiInfo, logTime, LogTypes.DEBUG_LOG, logMessage, string.Empty, ex);
});
}
}
}
}