C# HttpClient授权处理程序持有状态
我们正在Azure Service Fabric上构建一个主要由无状态微服务组成的应用程序。服务结构的工件之一是命名服务返回服务的一个实例的端点 如果客户端无法与该服务通信,它需要返回命名服务,获取另一个实例的端点,然后重试 因为我不希望每个开发人员都必须这样做,所以我为此创建了一个。但是,命名服务使用字符串来标识服务。将此标识符设置为处理程序上的属性将使其具有状态,因此无法再共享结果对象以调用不同的服务 由于处理程序是HttpClient类的私有,因此我无法更改现有处理程序的属性 另一件恼人的事情是,HttpClient在使用相对URL时强制使用BaseAddress属性 那么,委托处理程序是否应该不用于任何需要状态的事情(如服务发现)?有没有更好的办法解决这个问题C# HttpClient授权处理程序持有状态,c#,azure,httpclient,microservices,azure-service-fabric,C#,Azure,Httpclient,Microservices,Azure Service Fabric,我们正在Azure Service Fabric上构建一个主要由无状态微服务组成的应用程序。服务结构的工件之一是命名服务返回服务的一个实例的端点 如果客户端无法与该服务通信,它需要返回命名服务,获取另一个实例的端点,然后重试 因为我不希望每个开发人员都必须这样做,所以我为此创建了一个。但是,命名服务使用字符串来标识服务。将此标识符设置为处理程序上的属性将使其具有状态,因此无法再共享结果对象以调用不同的服务 由于处理程序是HttpClient类的私有,因此我无法更改现有处理程序的属性 另一件恼人的