Engine.Run Method 

IT Hit WebDAV for .NET

Processes WebDAV request and generates WebDAV response

[Visual Basic]
Public Sub Run( _
   ByVal request As Request, _
   ByVal response As IResponse _
)
[C#]
public void Run(
   Request request,
   IResponse response
);

Parameters

request
Instance of your request class derived from Request class.
response
Your IResponse interface implementation.

Remarks

You must call Run method in each request to your WebDAV server passing your request and response classes derived from Request and IResponse as input parameters.

Example

HttpHandler-based server:

public class MyHttpHandler : IHttpHandler
{
       ...
       public void ProcessRequest(HttpContext context)
       {
           HttpContext.Current.Response.BufferOutput = false;
           MyEngine engine = new MyEngine();
           MyRequest request = new MyRequest();
           MyResponse response = new MyResponse();
           engine.Run(request, response);
       }
       ...
   }
HttpListener-based server:
    static void Main(string[] args)
    {
        string uriPrefix = ConfigurationManager.AppSettings["ListenerPrefix"];
        HttpListener listener = new HttpListener();
        listener.Prefixes.Add(uriPrefix);
        listener.Start();
        while (true)
        {
            IAsyncResult result = listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
            result.AsyncWaitHandle.WaitOne();
        }
    }

    public static void ListenerCallback(IAsyncResult result)
    {
        HttpListener listener = (HttpListener)result.AsyncState;
        WDEngine engine = new WDEngine();
        HttpListenerContext context = listener.EndGetContext(result);
        WDRequest request = new WDRequest(context.Request, context.User);
        WDResponse response = new WDResponse(context.Response);
        engine.Run(request, response);
        try
        {
            context.Response.Close();
        }
        catch
        {
            // client closed connection before the content was sent
        }
    }
 

See Also

Engine Class | ITHit.WebDAV.Server Namespace