2

每次我在 Visual Studio 中构建 Service Fabric 解决方案时,都会修改 ApplicationManifest 和 ServiceManifest,并为我的解决方案中的所有 Reliable Actor 添加默认服务条目。

我怎样才能防止这种情况?

注意:默认服务不是为我所期望的可靠服务创建的。

最终,我们的目标是在每次新租户/客户通过我们的 Web 门户注册时创建一个“空的”命名应用程序实例(每个租户一个应用程序类型的实例)。

然后,租户可以通过我们的 Web 门户启用/禁用功能,这转换为在租户的应用程序实例中创建/删除 Actor/Service 类型的实例。

如果这不是在 Service Fabric 的多租户场景中实现隔离的正确方法,感谢您提供指导。

4

2 回答 2

4

谢谢 Kiryl... 我终于找到了一篇文章,解释了在 Visual Studio 中构建 Service Fabric 应用程序时禁用应用程序清单中生成的方法。

打开Actor项目的.csproj,修改如下属性为“false”

<UpdateServiceFabricManifestEnabled>false</UpdateServiceFabricManifestEnabled>

你可以在这里找到这篇文章:https ://github.com/Azure/service-fabric-issues/issues/271

干杯!

于 2017-07-27T16:27:47.853 回答
0

我会说你不能......有一段时间我试图为分区方案设置我自己的设置(将默认设置切换为命名分区或更改 UniformInt64 的低/高键)但 VS 无论如何都会覆盖它们我做了什么。原来这是一种预期的行为,因为我“误解”了如何对演员应用分区,所以 VS 很高兴地“修复”了我的错误。请参阅无法更改参与者的分区方案以获取参考。底线是,似乎 VS 调整了 Actors Service 清单以保持 Actor 的神圣目的作为一种模式。

对于多租户应用程序,请考虑为每个客户/租户部署一个具有自己设置的单独应用程序类型。

PS我能够通过手动而不是通过 VS 部署 Actors 服务来获得我想要的东西,但那是另一回事了。

于 2017-07-25T14:43:34.073 回答