-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make SecureConversation inner channel factory share the same HttpClient as outer factory #4438
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not familiar with the code upstream that gets into these changes, but I have some thread safety questions, which is always a concern with a ref-counting approach.
src/System.Private.ServiceModel/src/System/ServiceModel/Channels/HttpTransportBindingElement.cs
Show resolved
Hide resolved
src/System.Private.ServiceModel/src/Internals/System/Runtime/MruCache.cs
Outdated
Show resolved
Hide resolved
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
4d25472
to
6e49069
Compare
@StephenMolloy, can you review the latest changes? |
src/System.Private.ServiceModel/src/System/ServiceModel/Channels/HttpTransportBindingElement.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
#4492) * update arcade in release/3.2 branch and cherry-pick one more checkin from master * Make SecureConversation inner channel factory share the same HttpClient as outer factory (#4438) * Make SecureConversation inner channel factory share the same HttpClient as outer factory * Fix lock semantics ref counting in mrucache Co-authored-by: Matt Connew <matt.connew@microsoft.com> Co-authored-by: Matt Connew <mconnew@microsoft.com> Co-authored-by: Matt Connew <matt.connew@microsoft.com>
When using SecureConversation, an inner channel factory is used to obtain the Secure Conversation token. When using a load balancer, this can result in the session establishment and service request being made to different backend hosts resulting in the service call failing.