是否可以将Microsoft Entity Framework与Oracle数据库一起使用?
我一直在寻找.net(c#)的日志框架,并决定在阅读stackoverflow上的一些问题/答案线程后给log4net一个机会.我看到人们一遍又一遍地提到他们使用log4net的包装类,我很想知道它会是什么样子.
我将我的代码拆分为不同的项目(数据访问/业务/ webservice/..).log4net包装器类怎么样?包装类是否需要包含在所有项目中?我应该将它作为一个单独的项目一起构建吗?
包装器应该是单件类吗?
我想知道日志记录和跟踪之间的区别是什么.
差异基本上是跟踪是更详细的日志,为开发人员提供了在运行时调试应用程序的工具吗?
我一直在尝试使用log4net并进行日志记录.现在我想知道我是否应该进行跟踪以及是否可以/应该使用log4net进行此目的.我应该使用log4net进行跟踪吗?log4net记录器是否有一些跟踪级别?我应该使用不同的日志级别进行调试和跟踪,还是可以使用相同的?你能给出一个简单的例子来说明如何对一个简单的方法进行记录和跟踪吗?
编辑:尽管下面有一些有用的答案,我仍然不确定我应该如何进行跟踪与日志记录.
我的业务层中有以下方法,我想添加日志/跟踪.我想知道如何有效地做到这一点.在记录/跟踪方面,以下方法是否可以接受?日志消息应该是Info类型而不是Debug类型吗?我记录的调试消息是否被视为跟踪?你会怎么改变它?
IEnumerable<Car> GetCars()
{
try
{
logger.Debug("Getting cars");
IEnumerable<Car> cars = CarAccessor.GetCars().ConvertAll(DataAccessToBusinessConverter);
logger.Debug("Got total of " + cars.Count + " cars");
} catch (Exception e) {
logger.Error("Error when getting cars", e);
throw new Exception("Unexpected error when getting cars");
}
}
我有以下课程
public class Car
{
public Name {get; set;}
}
我想以编程方式将其绑定到文本框.
我怎么做?
在黑暗中拍摄:
...
Car car = new Car();
TextEdit editBox = new TextEdit();
editBox.DataBinding.Add("Name", car, "Car - Name");
...
我收到以下错误
"无法绑定到目标控件上的'属性'名称.
我做错了什么,我应该怎么做?我发现数据绑定概念来自Web开发有点难以理解.
我是否应该捕获日志记录的异常?
public foo(..)
{
try
{
...
} catch (Exception ex) {
Logger.Error(ex);
throw;
}
}
如果我在每个层(DataAccess,Business和WebService)中都有这个,这意味着会多次记录异常.
如果我的图层在单独的项目中并且只有公共接口中有try/catch,那么这样做是否有意义?为什么?为什么不?我可以使用不同的方法吗?
任何人都可以给我一个示例,如果我想创建两个工件dist和source我在使用sln 2008构建运行器并使用默认bin/Release构建我的项目,那么为构建配置定义的Artifact路径设置会是什么样子?
**/Source/Code/MyProject/bin/Release/*.* => dist **/*.* => source
我得到两个神器根dist和源但在dist下我得到了我不想要的整个目录结构(Source/Code/MyProject/bin/Release),并且在源代码下我得到了整个东西以及obj和bin/Release我不想.
你能就正确的方法提出一些建议吗?
我是否需要更改我正在构建的所有项目的目标位置才能使此功能正常工作?
我如何将以下对象Car绑定到gridview?
public class Car
{
long Id {get; set;}
Manufacturer Maker {get; set;}
}
public class Manufacturer
{
long Id {get; set;}
String Name {get; set;}
}
原始类型很容易绑定,但我发现无法为Maker显示任何内容.我想让它显示Manufacturer.Name.它甚至可能吗?
怎么办呢?我是否还必须将ManufacturerId存储在Car中,然后使用制造商列表设置lookupEditRepository?
我想知道通过WCF服务公开什么对象有什么意义 - 我应该将WCF序列化规范添加到我的业务实体,还是应该实现一个转换器,将我的业务实体映射到我希望通过我的WCF公开的DataContracts服务?
现在我有不同级别的实体:DataAccess,Business和Contract.我有适当的转换器,可以将实体从DataAccess映射到Business,从Business映射到Contract,反之亦然.实施和维护这些是耗时且相当繁琐的.与此相关的最佳做法是什么?
如果我使用的是OR/M,例如NHibernate或Entity Framework,我应该直接从ORM公开实体,还是应该像现在一样抽象它们?
提前致谢.
有没有办法让我添加日志记录,以便进入和退出方法与参数一起自动记录以用于跟踪目的?我该怎么办?
我正在使用Log4Net.
我应该从Web服务公开强类型数据集并将其直接绑定在客户端吗?或者是否有更合理的方式来提供asmx Web服务?我正在做CRUD操作(创建,读取,更新,删除).
我发现使用数据集是令人沮丧的,例如在插入其中的表时很难处理.当仅插入一条记录或仅从数据集中的特定表中获取一条记录时,将整个数据集来回传送似乎不合逻辑.
有没有更好的办法?
我是应该转换为对象并通过Web服务使用对象?在整个地方进行转换以获得传递的对象可能同样乏味?
什么是追踪以及应该如何进行?
我有一个公共实用程序库,包含在我的项目中,我希望能够从中获得一些输出。我一直在使用 log4net,但不想让我的通用实用程序库依赖于 log4net。那有意义吗?
编辑:日志记录和跟踪之间有任何关联吗?由于某种原因,我是否想将跟踪和日志记录放入同一个流中?
我是否应该用 System.Diagnostics.Trace.WriteLine(..) 替换项目中的一些 log4net Logger.Debug(..) ?