Guids can be considered unique, as per the other answers.
Given that, the problem will lie in the ClientId
property which must be either static
or something similar (even ThreadStatic
), which will cause the logon sessions to appear to "blend":
- Session 1 Login ClientId == GuidA
- Session 2 Login ClientId == GuidB
- Session 1 Service Call ClientId == GuidB (as it was overridden by Session 2)
Edit
So just to clarify, static
variables are available to all threads (therefore all requests) in an AppDomain. Therefore there is only one such variable, and each request is updating that same variable. How to avoid this in your scenario? ... that would be a different question.