Snippet:
var request = new SimpleWorkerRequest("/dummy", @"c:\inetpub\wwwroot\dummy", "dummy.html", null, new StringWriter());
var context = new HttpContext(request);
SessionStateUtility.AddHttpSessionStateToContext(context, new TestSession());
HttpContext.Current = context;
Implementation of TestSession():
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.SessionState;
namespace m1k4.Framework.Test
{
public class TestSession : IHttpSessionState
{
private Dictionary<string, object> state = new Dictionary<string, object>();
#region IHttpSessionState Members
public void Abandon()
{
throw new NotImplementedException();
}
public void Add(string name, object value)
{
this.state.Add(name, value);
}
public void Clear()
{
throw new NotImplementedException();
}
public int CodePage
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public System.Web.HttpCookieMode CookieMode
{
get
{
throw new NotImplementedException();
}
}
public void CopyTo(Array array, int index)
{
throw new NotImplementedException();
}
public int Count
{
get
{
throw new NotImplementedException();
}
}
public System.Collections.IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
public bool IsCookieless
{
get
{
throw new NotImplementedException();
}
}
public bool IsNewSession
{
get
{
throw new NotImplementedException();
}
}
public bool IsReadOnly
{
get
{
throw new NotImplementedException();
}
}
public bool IsSynchronized
{
get
{
throw new NotImplementedException();
}
}
public System.Collections.Specialized.NameObjectCollectionBase.KeysCollection Keys
{
get
{
throw new NotImplementedException();
}
}
public int LCID
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public SessionStateMode Mode
{
get
{
throw new NotImplementedException();
}
}
public void Remove(string name)
{
this.state.Remove(name);
}
public void RemoveAll()
{
this.state = new Dictionary<string, object>();
}
public void RemoveAt(int index)
{
throw new NotImplementedException();
}
public string SessionID
{
get
{
return "Test Session";
}
}
public System.Web.HttpStaticObjectsCollection StaticObjects
{
get
{
throw new NotImplementedException();
}
}
public object SyncRoot
{
get
{
throw new NotImplementedException();
}
}
public int Timeout
{
get
{
return 10;
}
set
{
throw new NotImplementedException();
}
}
public object this[int index]
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public object this[string name]
{
get
{
return this.state[name];
}
set
{
this.state[name] = value;
}
}
#endregion
}
}