通过 URI 调用 Service Fabric Actor Service 时找不到 V2Listener
Posted
技术标签:
【中文标题】通过 URI 调用 Service Fabric Actor Service 时找不到 V2Listener【英文标题】:Cant find V2Listener when calling Service Fabric Actor Service by URI 【发布时间】:2019-11-07 09:38:43 【问题描述】:尝试获取演员服务中所有演员的列表时,我得到了一个 AggregateException。
System.AggregateException: FabricInvalidAddressException: NamedEndpoint 'V2Listener' not found in the address '"Endpoints":"V2_1Listener":"LautarosMonster:30006+f87ebfe0-9f5c-435f-ac5a-a62ab13eda5d-132059632019035414-bf7ac379-8 4c52-a5b2-339efc840b5b"' 用于分区 'f87ebfe0-9f5c-435f-ac5a-a62ab13eda5d'
这里我得到了 UserActors:
async public Task<List<string>> GetUserActors()
ContinuationToken continuationToken = null;
CancellationToken cancellationToken = new CancellationTokenSource().Token;
List<ActorInformation> activeActors = new List<ActorInformation>();
do
var proxy = GetUserActorServiceProxy();
PagedResult<ActorInformation> page = await proxy.GetActorsAsync(continuationToken, cancellationToken);
activeActors.AddRange(page.Items.Where(x => x.IsActive));
continuationToken = page.ContinuationToken;
while (continuationToken != null);
return activeActors.Select(aa => aa.ActorId.ToString()).ToList();
我很确定我的 URI 命名约定是正确的。这就是我获得actorServiceProxy的方式
public IActorService GetUserActorServiceProxy() var proxy = ActorServiceProxy.Create(new Uri("fabric:/ECommerce/UserActorService"), 0); return proxy;
应用程序名称是“ECommerce”,我尝试调用的服务是“UserActor”
在我调用 proxy.GetActorsAsync 的 PagedResult 行上引发了异常
【问题讨论】:
【参考方案1】:这似乎与我在这里提出的 错误 相同?
https://github.com/microsoft/service-fabric-services-and-actors-dotnet/issues/159
【讨论】:
是的!我昨晚才看到。我尝试了建议的解决方案并使用了“IActorService serviceProxy = ServiceProxy.Create以上是关于通过 URI 调用 Service Fabric Actor Service 时找不到 V2Listener的主要内容,如果未能解决你的问题,请参考以下文章
在 Service Fabric 中通过 HTTPS 调用 WCF:请求被中止:无法创建 SSL/TLS 安全通道
从 .Net Core Stateless Service 调用 .Net 框架 Service Fabric Actor