我在这方面没有找到太多东西,在花了一天的大部分时间之后......我正在寻求帮助......
我得到的例外是:
无法将“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(IEnumerable
1 connectionStringsLocal) at System.Fabric.Interop.Utility.<>c__DisplayClass27_0.<WrapNativeSyncInvoke>b__0() at System.Fabric.Interop.Utility.WrapNativeSyncInvoke[TResult](Func
1 func, String functionTag, String functionArgs) 在 System.Fabric.Interop.Utility.WrapNativeSyncInvoke(Action action, String functionTag, String functionArgs) 在 System.Fabric.Interop.Utility.RunInMTA(操作操作)在 System.Fabric.FabricClient.InitializeFabricClient(SecurityCredentials credentialArg, FabricClientSettings newSettings, String[] hostEndpointsArg) 在 Microsoft.ServiceFabric.Services.Client.ServicePartitionResolver.<>c.b__21_0() 在 Microsoft.ServiceFabric.Services.Client。 Microsoft.ServiceFabric.Services.Client.ServicePartitionResolver.ResolveHelperAsync 上的 ServicePartitionResolver.GetClient()(Func5 resolveFunc, ResolvedServicePartition previousRsp, TimeSpan resolveTimeout, TimeSpan maxRetryInterval, CancellationToken cancellationToken, Uri serviceUri) at Microsoft.ServiceFabric.Services.Communication.Client.CommunicationClientFactoryBase
1.Microsoft.ServiceFabric.Services.Remoting.V2.FabricTransport.Client.FabricTransportServiceRemotingClientFactory.GetClientAsync(Uri serviceUri, ServicePartitionKey partitionKey, TargetReplicaSelector targetReplicaSelector, Microsoft.ServiceFabric.Services.Communication.Client.ServicePartitionClient1.GetCommunicationClientAsync(CancellationToken cancellationToken) at Microsoft.ServiceFabric.Services.Communication.Client.ServicePartitionClient
1.InvokeWithRetryAsync[TResult](Func2 func, CancellationToken cancellationToken, Type[] doNotRetryExceptionTypes) at Microsoft.ServiceFabric.Services.Remoting.V2.Client.ServiceRemotingPartitionClient.InvokeAsync(IServiceRemotingRequestMessage remotingRequestMessage, String methodName, CancellationToken cancellationToken) at Microsoft.ServiceFabric.Services.Remoting.Builder.ProxyBase.InvokeAsyncV2(Int32 interfaceId, Int32 methodId, String methodName, IServiceRemotingRequestMessageBody requestMsgBodyValue, CancellationToken cancellationToken) at Microsoft.ServiceFabric.Services.Remoting.Builder.ProxyBase.ContinueWithResultV2[TRetval](Int32 interfaceId, Int32 methodId, Task
1 个任务)在 XXXXWeb.Controllers.XXXController.OperationOnServiceContract(XXXRequest xxxRequest) 在 C:\Users\codputer\Source\Repos\xxxxxx\xxxx.Web\Controllers\XXXController.cs:line 44
哦,我正在使用它作为听众:
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return this.CreateServiceRemotingReplicaListeners();
}