【发布时间】:2019-10-28 02:52:19
【问题描述】:
我收到错误FabricServiceNotFoundException: Service does not exist.,我不知道为什么。我正在创建的服务名称正是它在我的集群中部署的名称。
这是我创建服务的代码:
return ServiceProxy.Create<ICheckoutService>(
new Uri("fabric:/ECommerce/ECommerce.CheckoutService"),
new ServicePartitionKey(0));
这是资源管理器视图。服务名称与我的代码匹配。我正在使用其他服务没有问题。
我尝试了完全重启,但我得到了同样的错误:
- 从集群中删除应用程序
- 集群中未配置的类型
- 重启集群
- 重新启动 Visual Studio
- 重建和部署应用程序
更新
经过测试,我发现错误的发生取决于我通过 API 方法调用服务的顺序。
如果我部署应用程序并调用 checkout 和 get basket 方法,它们会给出“找不到服务”错误。
但是,如果我首先调用其他方法来执行一些更改(POST),那么它会起作用……很奇怪吧?这是我的仓库,可以帮助查看代码。
https://github.com/epomatti/azure-servicefabric-productcatalog
【问题讨论】:
-
您最近是否执行过任何缩放操作,之后您会看到此问题?
-
@KarishmaTiwari-MSFT 我没有。刚刚创建了新服务。
-
我之前遇到过这种情况,SF 通常不会有最好的错误消息:对我来说,由于客户端之间的不匹配,在创建代理时找不到接口类型和服务。确保包含接口的程序集在所有项目中都是共享的并且是最新的。
-
通常帮助我获得更好的错误消息的另一种方法是将 Visual Studio 异常设置切换为“抛出时中断”。快速失败允许访问异常和更接近实际问题的调用堆栈。
-
@maf748 更新了问题,看看是否告诉您有关问题的任何线索。我尝试了你的建议,但还没有。