创建一个n层应用程序

时间:2010-12-29 02:49:21

标签: c# wcf architecture soa

我正在研究将于明年启动的项目的架构。它主要是一个c#web应用程序,但会有一个服务层,以便它可以与我们的facebook / iphone应用程序通信。有一些长时间运行的进程,这意味着我将创建一个可以处理这些进程的Windows进程。

我正在考虑将整个应用程序放在Windows服务中,而不仅仅是长时间运行的进程。

Asp - > wcf - > BLL VS Asp - > BLL

我知道这会更具可扩展性。但它可能有点过分,因为一切都将在同一个盒子上运行,甚至是数据库。如果服务器无法像营销那样处理流量,这可能会改变道路。

我无法访问生产硬件,只有我糟糕的测试盒和我的本地机器。

有没有人决定沿着这条路走下去?

但大多数情况下,测试两种方法以获得某些指标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您考虑使用Web场,

Asp-> bll可以提供尽可能多的可扩展性。从性能的角度来看,它取决于service / bll合约 - 对于粗略的契约类型,很多时候,执行调用的时间与proc调用(涉及调用服务层)相比可能足够大 - 所以没有大的性能影响。但是如果界面很繁琐并且呼叫执行时间较短,那么服务层确实会受到伤害,但只要你能够满足你的SLA(响应时间与用户数量),就没关系了。

由于prod环境最初将成为一个单独的框,您可以使用开发框或测试框来提供指标。如上所述,您需要检查短期运行方法和长(相对)运行方法的性能,然后根据主要调用的方法类型来决定,这些方法的性能是否正常等