diff --git a/lib/csharp/src/Transport/THttpHandler.cs b/lib/csharp/src/Transport/THttpHandler.cs
index 7fe750d..0a10d79 100644
--- a/lib/csharp/src/Transport/THttpHandler.cs
+++ b/lib/csharp/src/Transport/THttpHandler.cs
@@ -9,6 +9,8 @@
 
 using System;
 using System.Web;
+using System.Net;
+using System.IO;
 
 using Thrift.Protocol;
 
@@ -21,6 +23,9 @@
         protected TProtocolFactory inputProtocolFactory;
         protected TProtocolFactory outputProtocolFactory;
 
+        protected const string contentType = "application/x-thrift";
+        protected System.Text.Encoding encoding = System.Text.Encoding.UTF8;
+
         public THttpHandler(TProcessor processor)
             : this(processor, new TBinaryProtocol.Factory())
         {
@@ -40,12 +45,23 @@
             this.outputProtocolFactory = outputProtocolFactory;
         }
 
+        public void ProcessRequest(HttpListenerContext context)
+        {
+            context.Response.ContentType = contentType;
+            context.Response.ContentEncoding = encoding;
+            ProcessRequest(context.Request.InputStream, context.Response.OutputStream);
+        }
+
         public void ProcessRequest(HttpContext context)
         {
-            context.Response.ContentType = "application/x-thrift";
-            context.Response.ContentEncoding = System.Text.Encoding.UTF8;
+            context.Response.ContentType = contentType;
+            context.Response.ContentEncoding = encoding;
+            ProcessRequest(context.Request.InputStream, context.Response.OutputStream);
+        }
 
-            TTransport transport = new TStreamTransport(context.Request.InputStream, context.Response.OutputStream);
+        public void ProcessRequest(Stream input, Stream output)
+        {
+            TTransport transport = new TStreamTransport(input,output);
 
             TProtocol inputProtocol = null;
             TProtocol outputProtocol = null;
