|
|
1
28
我们要做的是创建一个静态类,类似于引导程序,并将初始化代码放在静态方法中。我们在做个人资料,所以你看不到太多。global.asax将在启动时调用它,域将使用它(因为配置是singleton),并且需要它的单元测试将在其设置中调用bootstrapper.configure()。 最后一件事是在引导程序上保留一个标志,并在配置时将其设置为true。这样,每个AppDomain配置只执行一次。这意味着在global.asax(application_start)启动时一次,在运行单元测试时一次。 高温高压 |
|
|
2
4
我还使用引导程序来处理这类启动任务。事实上,我使用了一系列的引导程序,因为我像那样疯狂。从automapper的角度来看,我们发现制作一些automappingBuddy类并用一个属性来装饰它们是非常干净的。然后,我们通过一些反射调用连接映射器(不便宜,但它们在开始时只发射一次)。这个解决方案是在我们厌倦了在1200+行文件的第841行中发现automapper问题之后发现的。 我曾想过要发布代码,但我不能称之为珀迪。不管怎样,这里是: 首先,自动应用伙伴的简单接口:
第二,提供一些胶水的属性:
第三,汽车发动机。这就是魔法发生的地方:
大概一个小时左右,我们就可以轻松地到达那里。 |
|
|
3
4
我尝试过上面的代码,但无法使其工作。我修改了一下,如下所示。我想剩下要做的就是通过global.asax的引导程序调用它。希望这有帮助。
我这样使用它将源与目标配对关联起来:
然后,为了自动创建映射,我执行以下操作:
|
|
|
4
2
我一直在将automapper createmap调用移动到生活在视图模型旁边的类中。它们实现了IAutomApperRegistrar接口。我使用反射来查找IAutomApperRegistrar实现,创建实例并添加注册。 界面如下:
下面是接口的实现:
以下是执行“我的应用程序启动”中的注册的代码:
我认为这是适当的,至少有一点逻辑性;它们更容易遵循这种方式。在我用一个巨大的自举方法注册了数百个用户之前,这已经开始让我头疼了。 思想? |