using System;
using System.Runtime.InteropServices;
using Documentum.Interop.DFC;
namespace CodeSnippets
{
public class GetRepoSession
{
public static void Main(String[] args)
{
GetRepoSession gr = new GetRepoSession();
gr.GetSession();
}
String username = "dmadmin";
String password = "dmadmin";
String repository = "devprog";
public void GetSession()
{
IDfClientX clientX = null;
IDfClient localClient = null;
IDfSessionManager sessMgr = null;
IDfLoginInfo li = null;
IDfSession sess = null;
try
{
clientX = new DfClientXClass();
li = clientX.getLoginInfo();
li.setUser(username);
li.setPassword(password);
localClient = clientX.getLocalClient();
sessMgr = localClient.newSessionManager();
sessMgr.setIdentity(repository,li);
sess = sessMgr.getSession(repository);
//Use the session
Console.WriteLine("Session Id: " + sess.getSessionId());
Console.ReadLine();
}
catch(Exception ex)
{
Console.WriteLine("Authentication Failed");
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
finally
{
if(sess != null)
{
sessMgr.release(sess);
}
if(clientX != null)Marshal.ReleaseComObject(clientX);
if(localClient != null) Marshal.ReleaseComObject(localClient);
if(li != null) Marshal.ReleaseComObject(li);
if(sessMgr != null) Marshal.ReleaseComObject(sessMgr);
if(sess != null) Marshal.ReleaseComObject(sess);
}
}
}
}
|