需要与WCF和MVC 4设计的说明
本文关键字:说明 MVC WCF | 更新日期: 2023-09-27 18:11:13
我有一个设计问题。我正在构建一个使用第三方服务的门户。
我已经把这个服务放入一个DLL中,当初始化一个DLL类时,我传递一个服务的服务地址(以此类推到其他服务-其中一些具有不同的地址)
public LogonService (string address)
{
EndpointAddress epA = new EndpointAddress ( address );
proxyClient = new LogonServicePortTypeClient ( "LogonServicePort" , epA);
//added this InspectorBehavior for logging and errrors
proxyClient.Endpoint.EndpointBehaviors.Add ( new InspectorBehavior () );
}
这是构造函数。然后,在实例中,我公开了所有的LogonService功能(登录、注销、刷新等)——再一次,这是一个服务的一个例子。他们很少)。
这个DLL被MVC 4互联网应用程序使用。我想添加一个BusinessLogic文件夹来保存每个DLL类的类,这将启动所示的服务,并以控制器可以理解的方式将结果传达给控制器。(这是我的设计理念)
如果(再次如果)这个设计在同意,我想知道在哪里以及如何初始化这些DLL类的最佳实践,存储它们以供重用等。
总结一下我的长问题:
1. 这是一个有效的设计吗?
2. 在应用程序生命周期中,我应该初始化这些Dll类?
3.如何存储这些服务实例(性能方面)?
4. 最后,如果这个设计不符合逻辑,那么推荐的设计是什么呢?
谢谢吉拉德
我建议的第一件事是使用Castle或Unity这样的DI框架。这将消除类初始化的许多麻烦,并使您的类更易于测试。
另外,将您的端点配置外部化到系统下的xml文件中。serviceModel部分)。我觉得流畅的终端配置很容易让人分心。
几个月前我遇到了同样的问题,遗憾的是我没有特权花时间来解决它。据我所知,你的设计很好,我也采用了它。
我更关心你的问题。最后,我为每个WS调用创建了一个服务实例(因为只有少数用户使用web应用程序,而且并不经常使用,所以我不太关心性能)。但是我很想听听别人对这一点的看法。我也同意来自水族的评论。您应该尽可能多地使用配置文件。当开发人员将部分配置硬编码到他们的应用程序中时,我遇到了很多麻烦。