用于托管 MVC 和服务的 MS Service Fabric

MS Service Fabric for hosting both MVC and services

在 MS Service Fabric 中同时托管前端(asp.net MVC 6)和后端(WCF/WebAPI 服务)是否是一种有效的方法? Fabric 作为 运行 服务的平台进行营销。由于 MVC 和服务都需要扩展,在 Service Fabric 中同时拥有这两个层是否有意义?不必单独处理托管前端部分,更不用说扩展它了,这听起来非常引人注目。

我可能是错的,但我不能 100% 确定您可以在 Service Fabric 中托管 Asp.Net MVC 6 或 WCF 应用程序,但您当然可以托管 Web API 应用程序。无论您托管的 Asp.Net 应用程序都需要支持 OWIN 自托管,我不确定 MVC 或 WCF 是否支持。如果您发现您可以托管所有这些应用程序,那么当然,您应该拥有它!

我可以说我公司的首选方法是拥有一个仅提供静态内容(HTML、JS)的前端静态应用程序,并让该前端使用我们拥有的 Web API托管在 Service Fabric 中。 OWIN 自托管(就像您需要对 Service Fabric 执行的操作),不允许您在不首先通过 nginx 等代理路由静态内容的情况下对静态内容进行 GZip 压缩,并且您可能希望使用任何前端应用程序进行 GZip 压缩。因此,最好在其他地方托管前端静态应用程序,例如支持 GZip 压缩的传统 Azure Web 应用程序。

希望对您有所帮助!

我刚刚使用最新的 VS 创建了我的第一个 Fabric Service 应用程序,它允许您将服务创建为 ASP.Net Core MVC 应用程序。开箱即用,它使用 Kestral 作为网络服务器,但我想您也可以使用 IIS 或 OWIN。如果您选择坚持使用 Kestral,显然您可以通过中间件添加 GZip (GZip middleware),尽管我自己还没有尝试过