public static void Main() { var logger = new MultiLogger(new ILogger[] { new ConsoleLogger(entry => entry.Level < LogLevel.Error, null, Console.Out), new ConsoleLogger(entry => entry.Level >= LogLevel.Error, null, Console.Error), new DebugLogger(null, null), }); var methodHandlers = new List <IWebDAVMethodHandler>(); foreach (IWebDAVMethodHandler methodHandler in WebDAVMethodHandlers.BuiltIn) { methodHandlers.Add(new LitmusWebDAVMethodHandler(methodHandler)); } using (var server = new WebDAVServer(new WebDAVMemoryStore(), logger, new HttpListenerAdapter(), methodHandlers)) { server.Listener.Prefixes.Add("http://localhost:8888/"); var ipv4Addresses = from address in Dns.GetHostEntry(Environment.MachineName).AddressList where !address.IsIPv6LinkLocal && !address.IsIPv6Multicast && !address.IsIPv6SiteLocal select address.ToString(); foreach (var address in ipv4Addresses) { server.Listener.Prefixes.Add(string.Format(CultureInfo.InvariantCulture, "http://{0}:8888/", address)); } server.Start(); Console.In.ReadLine(); server.Stop(); } }
public void Start_WhenDisposed_ThrowsObjectDisposedException() { var server = new WebDAVServer(_Store, _Logger, _Listener, _MethodHandlers); server.Dispose(); Assert.Throws <ObjectDisposedException>(() => server.Start()); }
public void Start_WhenNotRunning_StartsServer() { using (var evt = new ManualResetEvent(false)) { var server = new WebDAVServer(_Store, _Logger, _Listener, _MethodHandlers); Isolate.WhenCalled(() => _Listener.GetContext(null)).DoInstead(e => { evt.Set(); return(null); }); server.Start(); evt.WaitOne(10000); server.Stop(); Isolate.Verify.WasCalledWithAnyArguments(() => _Listener.GetContext(null)); } }