【发布时间】:2011-10-24 08:45:13
【问题描述】:
我正在开发一个桌面应用程序,它生成了用于数据库访问的代码并使用静态对象来识别用户。
现在我们需要通过 webservice 公开一些逻辑,我们正在寻找一种侵入性最小的形式来将用户信息通过管道推送到数据库访问类。
我们想出的是将委托传递给 Insert / Update 方法,如下所示:
public delegate string GetLogin();
public class BaseEntity : BaseNotifiableEntity, System.ComponentModel.IDataErrorInfo
{
public GetLogin Login { get; set; }
(...)
}
public static class BaseEntityHelper
{
public static SqlCommand buildUpdateCommand(BaseEntity entity)
{
UpdateDefaultValues(entity, false);
(...)
}
public static void UpdateDefaultValues(BaseEntity entity, bool affectCreationFields)
{
if (entity.Login == null && AppServer.RunningApplication.CurrentUser == null)
throw new Exception("Something went wrong");
(...)
}
}
所以在我们的逻辑中会有这样的东西:
public class Service
{
T_DIST_Service record;
(...)
public bool Update(DataAccess.Base.GetLogin login)
{
record.Login = login;
(...)
record.Update();
}
}
这当然涉及更改应用程序中的许多方法。 所以我想知道是否有一种无缝的方式来使用依赖注入来完成这个(例如)。
可能你们中的一些人已经走上了这条路,并且有一些见解可以分享。 感谢您的宝贵时间。
编辑 1: 使用 .NET
【问题讨论】:
-
我的错,平台是 .NET
标签: dependency-injection data-access