首页 文章

ServiceFabric / IFabricSecretStoreClient / COM异常

提问于
浏览
0

我对此并没有太多了解,并且在一天的大部分时间里度过了......我正在寻求帮助..

我得到的例外是这样的:

无法将“System .__ ComObject”类型的COM对象强制转换为接口类型“IFabricSecretStoreClient” . 此操作失败,因为对于具有IID“{38C4C723-3815-49D8-BDF2-68BFB536B8C9}”的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)) .

我可以使用以下代码将代理实例化到有状态服务:

var servicekey = new ServicePartitionKey(0);
  var queryserviceUri = new Uri("fabric:/XXXX/xxxxxxxxxx");
  var proxyHandle = ServiceProxy.Create<IAnInterfaceName>(queryserviceUri, servicekey, TargetReplicaSelector.PrimaryReplica);

然后我使用代理:

var result = await proxyHandle.OperationOnServiceContract(dataPackage);

此时我收到了错误......

堆栈跟踪...

System.Fabric.FabricClient.CreateNativeClient(IEnumerable1 connectionStringsLocal)at System.Fabric.Interop.Utility . <> c__DisplayClass27_0 . <WrapNativeSyncInvoke> b__0()at System.Fabric.Interop.Utility.WrapNativeSyncInvoke [TResult](Func1 func,String SystemTag的System.Fabric.Interop.Utility.WrapNativeSyncInvoke(Action action,String functionTag,String functionArgs)中的SystemTag,String functionArgs)在System.Fabric.FabricClient.InitializeFabricClient的System.Fabric.Interop.Utility.RunInMTA(Action action)中(SecurityCredentials credentialArg) ,FabricClient在Microsoft.ServiceFabric.Services.Client上的Microsoft.ServiceFabric.Services.Client.ServicePartitionResolver.GetClient()中的Microsoft.ServiceFabric.Services.Client.ServicePartitionResolver . <> c.b__21_0()处设置newSettings,String [] hostEndpointsArg) . ServicePartitionResolver.ResolveHelperAsync(Func5 resolveFunc,ResolvedServicePartition previousRsp,TimeSpan resolveTimeout,TimeSpan maxRetryInterval,CancellationToken cancellationToken,U ri serviceUri)在Microsoft.ServiceFabric.Services.Remoting.V2.FabricTransport.Client上的Microsoft.ServiceFabric.Services.Communication.Client.CommunicationClientFactoryBase1.GetClientAsync(Uri serviceUri,ServicePartitionKey partitionKey,TargetReplicaSelector targetReplicaSelector,String listenerName,OperationRetrySettings retrySettings,CancellationToken cancellationToken)在Microsoft.ServiceFabric.Services.Communication的Microsoft.ServiceFabric.Services.Communication.Client.ServicePartitionClient1.GetCommunicationClientAsync(CancellationToken cancellationToken)中的.FabricTransportServiceRemotingClientFactory.GetClientAsync(Uri serviceUri,ServicePartitionKey partitionKey,TargetReplicaSelector targetReplicaSelector,String listenerName,OperationRetrySettings retrySettings,CancellationToken cancellationToken) . Microsoft.ServiceFabric.Ser上的Client.ServicePartitionClient1.InvokeWithRetryAsync [TResult](Func2 func,CancellationToken cancellationToken,Type [] doNotRetryExceptionTypes) Microsoft.ServiceFabric.Services.Remoting.Builder.ProxyBase.InvokeAsyncV2(Int32 interfaceId,Int32 methodId,String methodName,IServiceRemotingRequestMessageBody requestMsgBodyValue,CancellationToken cancellationToken)中的vices.Remoting.V2.Client.ServiceRemotingPartitionClient.InvokeAsync(IServiceRemotingRequestMessage remotingRequestMessage,String methodName,CancellationToken cancellationToken) )在C:\ Users \ codputer \ Source \中的XXXXWeb.Controllers.XXXController.OperationOnServiceContract(XXXRequest xxxRequest)上的Microsoft.ServiceFabric.Services.Remoting.Builder.ProxyBase.ContinueWithResultV2 [TRetval](Int32 interfaceId,Int32 methodId,Task1任务) Repos \ xxxxxx \ xxxx.Web \ Controllers \ XXXController.cs:第44行

哦,我正在用这个听众:

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
  return this.CreateServiceRemotingReplicaListeners();
}

1 回答

相关问题