如何在ASP.NET中构建良好的服务层?


10

我研究了一些问题,以及用于构建良好服务层的技术,但与此相关的一些问题我需要帮助。

首先,我需要一些信息。当前,我们有许多Web应用程序以蜘蛛网的方式相互通信(所有Web应用程序和数据库数据都以令人困惑的方式相互通信)。

  • 我们希望对此进行更改,以便所有应用程序都经过一个服务层,在该服务层中,我们可以更多地使用缓存并封装通用功能等等。
  • 我们希望该层也具有Web API,以便第三方客户端可以使用该服务中的信息。

我看到的问题是,如果我们使用MVC4 Web API构建服务层,则不需要使用webAPI在应用程序之间进行通信,这意味着我们必须构造URL并使用JSON / Xml。听起来不太有效。我假设有一个更好的方法将与实体和WCF一起在应用程序之间进行通信,但是我们可能会松开Web API的魔力?

因此,问题在于是否有一种方法可以将服务层既用作Web API(JSON / XML),又用作具有实体的后端服务层。如果我们被迫使用2个不同的服务层,我们可能不得不重复一些功能和其他不好的事情。

希望这个问题很清楚,请询问是否需要更多信息。


好问题。为此+1!
康坎2012年

Answers:


1

对于内部网以及可能在一个LAN中托管的一组应用程序,最好的方法是使用TCP连接进行服务。

从这个意义上讲,我将建议创建一个服务应用程序,以公开一组可以在TCP上运行的端点和服务接口。这些可由本地或受信任的应用程序使用。

服务应用程序应具有另一组端点和服务接口,这些端点和服务接口已公开以通过Web进行使用(Web API)。

因此,可以使用WCF托管服务应用程序,并根据需要添加终结点/接口。


那么创建1组用于内部通信的端点和1组用于Web API的端点吗?(是的,它在局域网上大约有20台服务器,其中包括内部网,外部网等)

可以阅读有关WCF的更多信息(对不起,我是这些领域的初学者),所以我拥有相同的服务或相同的服务应用程序,但是对该服务使用不同的终结点,因此可以通过两个TCP使用该服务应用程序和HTTP,correkt?也许是一个更棘手的问题..如果有人可以通过TCP使用MVC4 Web API上的任何信息?

您做对了。在MVC4 Web API上,我尚未阅读任何内容。您可能需要阅读它。
康坎2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.