When using the ServerAccess object in my RO client (C# / .Net) the server is creating a new session every time. Using the more manual method (below) retains the same session between calls.
mySession = ServerAccess.Instance.Service1.GetSessionValue();
Console.WriteLine(mySession);
mySession = ServerAccess.Instance.Service1.GetSessionValue();
Console.WriteLine(mySession);
var message = new RemObjects.SDK.BinMessage();
var clientChannel = new RemObjects.SDK.WinInetHttpClientChannel();
var service1 = RoServerTest.CoService1.Create(message, clientChannel);
mySession = service1.GetSessionValue();
Console.WriteLine(mySession);
mySession = service1.GetSessionValue();
Console.WriteLine(mySession);
Let me elaborate. Unline the _Intf file the _ServerAccess code is not auto-regenerated. Even more, in most cases it is not intended to be used AS IS but to serve more like a starting point.