当我去大学时,老师常说,在良好的结构化应用程序中,您有表示层,业务层和数据层。这是我听了超过5年。n层应用程序中的WCF服务层:性能考虑
当我开始工作时,我发现这是事实,但有时更好的是不只有三层。两三天前,我发现John Papa的this article解释了如何在分层应用程序中使用实体框架。根据这篇文章,你应该有:
- UI和表示层(模型 - 视图模式)
- 服务层(WCF)
- 业务层
- 数据访问层
服务对我来说,图层是我工作以来听过的最好的创意之一。然后,您的用户界面完全从业务和数据层“连接”。现在,当我深入查看提供的源代码时,我开始有一些问题。你能帮我回答他们吗?
问题#0:这是一个很好的enterpise应用程序模板在你看来?
问题#1:我应该在哪里托管服务层?它应该是Windows服务还是其他?
问题#2:在提供的源代码中,服务层只是暴露了一个WSHttpBinding端点。这是互操作性最强的绑定,但是(我认为)在性能方面最差(由于对象的序列化和反序列化)。你同意吗?
问题#3:如果您在问题2中同意我的意见,您会使用哪种绑定?
期待您的来信。周末愉快!
马尔科
好,所以在我需要打开我的业务层到内部应用程序的情况下,你建议netTcp,但如果这必须由外部应用程序访问,你建议webHttpBinding或webHttpBinding。完善。非常感谢。 – Marconline 2010-04-10 18:11:57
是的,绝对使用netTcp的内部应用程序和访问 - 你最好的选择。从外部来看,通常是不可能的(因为事实上你必须在防火墙上打洞,才能使流量通过 - 大部分几乎不可能做到......) – 2010-04-10 20:19:13