0

I'm trying to connect to an on-prem Service Fabric cluster from C# code to manage some services:

using System.Fabric;
...
var fabricClient = new FabricClient();
var services = await fabricClient.QueryManager.GetServiceListAsync(new Uri("fabric:/TestConsumer"));
var service = services.FirstOrDefault(e => e.ServiceName.AbsolutePath.Contains("TestManagedConsumer"));
..

(I found the above example code here.)

The problem is that I don't actually know how to connect to the cluster. The above code throws this exception:

System.Fabric.FabricElementNotFoundException: 'Application not found'

Where/how do I specify where my cluster is running? Furthermore do I need some method authentication? If I simply navigate to http://host:19080 I'm able to connect without logging in.

I'm pretty new to Service Fabric, but I've done some digging and I am not turning up much. There seems to be little to no example code out there for this type of thing. Any suggestions?

Daniel
  • 10,864
  • 22
  • 84
  • 115

1 Answers1

1

I feel pretty dumb having found what I was looking for about 5 minutes after posting this question. Doing a search for "new FabricClient" in google turned up some examples, including this page: https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-fabric-connect-to-secure-cluster.md, which shows the following example:

To connect to a remote unsecured cluster, create a FabricClient instance and provide the cluster address:

FabricClient fabricClient = new FabricClient("clustername.westus.cloudapp.azure.com:19000");

I was able to connect to my cluster with this code.

There is also some good example code here: https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-remove-applications-fabricclient

Daniel
  • 10,864
  • 22
  • 84
  • 115