コード例 #1
0
ファイル: Program.cs プロジェクト: lassevk/WebDavSharp
        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();
            }
        }
コード例 #2
0
        public void Start_WhenDisposed_ThrowsObjectDisposedException()
        {
            var server = new WebDAVServer(_Store, _Logger, _Listener, _MethodHandlers);

            server.Dispose();

            Assert.Throws <ObjectDisposedException>(() => server.Start());
        }
コード例 #3
0
        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));
            }
        }