- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 LoggingFacility 文档 (http://docs.caSTLeproject.org/Windsor.Logging-Facility.ashx) 中说明如下:
“允许您请求一个 ILoggerFactory 实例来为非 Windsor 管理的类提供日志记录支持”
但是如果我的类不是由 Windsor 管理的,我该如何实际请求一个 ILoggerFactory 实例?
TIA
索伦
继续:
我对使用 Windsor (IoC) 还很陌生,所以当你说“你为什么不用 Windsor 的类(class)经理”时,我开始怀疑你是不是说所有的类(class)都应该由 Windsor 管理。 .
我正在处理一些遗留代码,必须在其上创建一个服务接口(interface)......类似:
namespace RESTServer.WindsorTestService
{
[ServiceContract(Namespace = "urn: RESTServer_WindsorTestService:IMyServiceClass")]
public interface IMyServiceClass
{
ILogger Logger // Will be injected by Windsor
{ get; set; }
[OperationContract]
[WebGet(UriTemplate = "MyMethod")]
int MyServiceMethod();
}
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class MyServiceClass : IMyServiceClass
{
private ILogger _logger = NullLogger.Instance;
public ILogger Logger // Will be injected by Windsor
{
get { return _logger; }
set { _logger = value; }
}
public int MyServiceMethod()
{
// ... which will populate val1, val2, val3
var val1 = 1;
var val2 = 10;
var val3 = 100;
var myCalc = new myLegacyClass(val1, val2, val3);
return myCalc.DoCalculate(1000);
}
}
public class myLegacyClass
{
private int _val1;
private int _val2;
private int _val3;
private static readonly ILog _logger = LogManager.GetLogger(typeof(myLegacyClass));
public myLegacyClass(int val1, int val2, int val3)
{
_val1 = val1;
_val2 = val2;
_val3 = val3;
}
public int DoCalculate(int val4)
{
_logger.Info("Doing some calculation");
return _val1 + _val2 + _val3;
}
}
}
遗留代码已经使用 log4net 的地方....它工作正常,但我想知道是否应该更改 myLegacyClass 以某种方式从 Windsor 获取记录器......我只是不确定最好的方法是什么.....
TIA索伦
最佳答案
container.Resolve<ILoggerFactory>()
你自己管理工厂并获取记录器。但问题是 - 为什么您没有 Windsor 的类(class)经理?
关于c# - 城堡记录设施,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5819323/
关于我的 MVP 实现的快速问题: 目前我有下面的代码,其中 presenter 和 view 都是通过容器解析的。 然后演示者调用 View.Init 将自己传递给 View 。 但是我想知道是否有
我正在尝试在 NHibernate 上用 CaSTLe 做一个简单的“从产品中选择计数(*),日期 > xxx”。 如果我直接使用 NHibernate,我可以重用 this question答案但不
刚接触城堡/温莎,请耐心等待。 我目前正在使用框架System.Web.Mvc.Extensibility在其启动代码中,它注册了 HttpContextBase,如下所示: container.Re
您好,我在尝试初始化 ActiveRecord 时遇到异常,我不知道我遗漏了什么。我正试图说服我工作的公司使用 CaSTLe ActiveRecord,如果我不能演示它是如何工作的,它看起来不会很好。
对于我当前的项目,我在 C# 中使用 CaSTLe 的 ActiveRecord。对于我的一张表,我确实需要使用自定义类型类(处理愚蠢的时间到时间跨度的转换)。为了保持我的代码干净,我喜欢在对象映射类
在 IIS 中托管的 Windsor ioc、wcf 设施设置下,raven doc session 和存储的推荐生活方式是什么? 我一直看到这个错误: Error TempPathInUse (JE
我决定将我的项目 ASP.NET MVC 4 中的 CaSTLe ActiveRecord 版本从 2.1.2 版本迁移到 3.0.0。还更新了 NHibernate 2.1.2 版本到 3.1.0
我是一名优秀的程序员,十分优秀!