我使用调用服务方法
ThreadPool.QueueUserWorkItem(o => service.Method(arg1, arg2));
服务有对象“loggingService”,我正在使用 Spring.Net
private readonly ILoggingService loggingService = ObjectBuilder.GetObjectByName("LoggingService");
“LoggingService”类是单例的。它将日志信息写入log.txt。
当我尝试在此服务方法中调用loggingService.Info(“test”)时,出现异常:文件正被另一个进程占用。
如何访问loggingService?
您的单例显然是每个线程的。
您将需要某种方式来通过LoggingService
跨线程。
例如,您可以设置service.loggingService
在原来的线程中。
或者,您可以配置 Spring.Net 以使其成为非线程本地单例。
请注意,您的 LoggingService 必须是线程安全的,否则您会在运行时遇到奇怪的错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)