有没有人试图堆叠上下文并同时使用任务?
我正在尝试这样的事情:
using (log4net.ThreadContext.Stacks["contextLog"].Push("Saving Data"))
{
log.Info("Starting transaction");
var taskList = new List<Task>();
taskList.Add(Task.Factory.StartNew(() =>
{
log.Info("Inside Transaction");
}));
Task.WaitAll(taskList.ToArray());
}
Run Code Online (Sandbox Code Playgroud)
我得到了那个结果:
2015/42/26 13:42:10,841 INFO [Saving Data] Starting transaction
2015/42/26 13:42:10,870 INFO [(null)] Inside Transaction
Run Code Online (Sandbox Code Playgroud)
我希望它 在第二行有[保存数据]而不是[(null)].
一旦启动新任务,它似乎就失去了对log4net ThreadContext Stack的访问权限.
你知道怎么避免这个吗?
编辑:起初o认为是交易范围的问题,但正如@stuartd指出的那样,它工作正常.然后我意识到有一个任务,这是真正的问题.
我试图通过sqlplus连接到Oracle数据库时遇到问题.
命令行如下所示:
C:\oracle\product\11.2.0\client_1>sqlplus
Error 46 initializing SQL*Plus
HTTP proxy setting has incorrect value
SP2-1502: The HTTP proxy server specified by http_proxy is not accessible
C:\oracle\product\11.2.0\client_1>http_proxy
'http_proxy' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
Run Code Online (Sandbox Code Playgroud)
根据这篇博客文章!它会引起关于http_proxy变量的值的抱怨,但是这个变量甚至不存在于客户端机器中.
有没有人在Windows上遇到同样的问题?
编辑:
对不起大家.我将http_proxy设置为用户变量.我只是想以错误的方式看待它.
错误:
C:\Users\ilson.bolzan>http_proxy
Run Code Online (Sandbox Code Playgroud)
对:
C:\Users\ilson.bolzan>echo %http_proxy%
Run Code Online (Sandbox Code Playgroud)