It is possible to store the scope in session, but I would recommend you to create it, as Henrik suggested on a per-request basis. Scope creation is a very cheap operation and I also assume that the call that takes 2,5 seconds is actually the creation of the database object. Storing the scope in session is not even possible in large web applications where the Session is stored in SQL Server database as it is not a Serializable object.
You may be already aware of it but I would still point you to the approach
that has proven to be most successful and popular with our customers, namely, to store the scope in the HttpContext.Items collection and keep it there for the lifecycle of a web request.
the Telerik team