You can't destroy the session when the browser closes as the internet is stateless, it doesn't know if the browser is open or not and no events you can use are raised when the browser is closed. If you have googled this incredibly frequently asked question you could have easily found this out yourself.
As for destroying it after time, it does that anyway on a sliding expiration. If you want to lessen the time the Session is arive then you can change the default timeout in the web.config file, again google for specifics.
If you want it to be destroyed after an absolute amount of time you'll need to code that yourself. When the Session starts store the DateTime it started in a Session variable
Session["Started"] = DateTime.Now
you could then write a global action filter that checks the difference between the session starting and the current time and if it has passed a threshold to abandon the session. Google for how to implement an global action filter for specifics.