The IRequiresSessionState is a marker interface which is empty without any methods or elements in it and gives read/write access to Sessions. A Marker interface like this one just informs the runtime that a certain feature is to be enabled.
On the other hand, if you require only a read only access to Session, use the IReadOnlySessionState which is also a marker interface.
Will you give this article a +1 ? Thanks in advance