Rationale Behind IReadOnlySessionState

前端 未结 2 1523
傲寒
傲寒 2021-01-13 18:59

I just implemented a handler that uses IReadOnlySessionState and was wondering why this marker interface is needed. (I understand that it is needed in order to access Sessi

相关标签:
2条回答
  • 2021-01-13 19:34

    Yes, AFAIK, you are correct. Both IReadOnlySessionState and IRequiresSessionState are marker interfaces that protect you from making your handler heavier, and slower.

    The difference between them is only the write status of the session.

    0 讨论(0)
  • 2021-01-13 19:57

    You're right. IReadOnlySessionState interface just gives you possibility to use Context.Session object.

    But if you implement IRequiresSessionState interface, your handler puts exclusive lock on current session, so all other requests (which wants to use Session object) in context of the same session will wait until your handler finishes.

    IReadOnlySessionState isn't very good name, because actually you can modify SessionState in such handlers and you won't get an exception. You just take responsibility for concurrent problems on you.

    0 讨论(0)
提交回复
热议问题