示例#1
0
        public void ShutDown()
        {
            logger.Log("stopping http server");
            if (server != null)
            {
            server.Stop();
            server = null;
            }

            logger.Log("setting event");
            finished.Set();
        }
示例#2
0
        public bool Start(XDocument config, string groupName, string processId, out string processUri, out string fileUri)
        {
            int portNumber;
            string httpPrefix;

            processUri = null;
            fileUri = null;

            if (!Initialize(config, out portNumber, out httpPrefix, out environment))
            {
                finished.Set();
                return false;
            }

            httpPrefix = httpPrefix + groupName + "/" + processId + "/";

            server = new HttpServer(portNumber, httpPrefix, logger);

            if (!server.Start())
            {
                logger.Log("Failed to start process http server");
                finished.Set();
                return false;
            }

            processServer = new ProcessServer("process/", server, this);
            fileServer = new FileServer("file/", server, this);

            processUri = processServer.BaseURI;
            fileUri = fileServer.BaseURI;

            return true;
        }
示例#3
0
 public FileServer(string relativePrefix, HttpServer s, ProcessService p)
 {
     parent = p;
     server = s;
     logger = server.Logger;
     server.Register(relativePrefix, HandlePutRequest, HandleGetRequest);
     prefix = server.Prefix + relativePrefix;
     baseUri = server.BaseURI + relativePrefix;
 }