Ответ будет много "это зависит". Некоторые из привязок не являются сессионными. Например, что-то вроде BasicHttpBinding не выполняет сеансы само по себе, но если вы включите режим совместимости ASP.net , вы можете заставить работать управление сеансами ASP.net. После этого вы сможете использовать Session_Start и Session_End в global.asax, чтобы делать то, что вы хотите, когда сессии открываются или закрываются.
Вы должны посмотреть на используемую привязку и посмотреть, имеет ли она встроенную поддержку сессий, потому что некоторые из них делают.
Если вы выполняете аутентификацию, вы также можете имитировать систему управления сеансами, сопоставляя запросы аутентифицированным пользователям и сохраняя запись сеанса в базе данных.
Я скажу, что в любом случае я не уверен, что "закрытие" сессии принесет вам. Если вы также не заблокируете пользователя каким-либо образом, следующий запрос сразу же начнет новый сеанс, если предыдущий был завершен. Может быть, если вы объясните, какую цель вы хотите достичь (и почему), мы можем оказать вам дополнительную помощь.