我们正在为我们的应用程序套件开发一个新的中间层。我们希望用 C# 重写我们的业务逻辑和数据访问层,因为它们目前在 VB6 中并通过 COM+ 发布。
我们试图决定的是如何准确地使这个中间层可供不同的客户使用。我们将使用 WCF 来执行此操作,并且我们决定使用各种绑定来满足每个不同客户端的需求,包括用于桌面应用程序的 netTcpBinding、net.Tcp 和/或命名管道绑定在本地或网络内的机器上运行的互联网应用程序,以及用于外部 Web API 的某种 HTTP 绑定。
我们试图决定的是如何托管我们的服务。似乎我要去的大多数地方都说 IIS 是要走的路,但如果它在 Windows 服务下,似乎你会从它的 BLL/DAL 部分中获得更好的性能,而这里的@marc_s 似乎经常推荐自托管。那么,我们是在 IIS 下、在服务下还是在某种混合环境下托管它,其中可能在 IIS 中为 HTTP 端点托管瘦服务,并通过 net.tcp 或命名管道绑定使用主服务?如果需要,将其分离出来允许进行物理分离,并允许 IIS 出现故障的可能性,这仍然会为那些访问它发布的端点的客户端运行服务。
此外,可扩展性和可靠性如何?这样两种托管环境之间有很大区别吗?
我意识到有很多与此类似的问题,但我无法找到我一直在寻找的信息,因此指向更具体帮助的链接和答案一样有效。