Esempio n. 1
0
        public bool StartSFtpServer()
        {
            if (_sftpserver != null)
            {
                _sftpserver.Dispose();
                _sftpserver = null;
            }
            try
            {
                _sftpserver = new Sftpserver();
                _sftpserver.Config("Charset=UTF8");
                _sftpserver.OnConnected          += new Sftpserver.OnConnectedHandler(_sftpserver_OnConnected);
                _sftpserver.OnConnectionRequest  += new Sftpserver.OnConnectionRequestHandler(_sftpserver_OnConnectionRequest);
                _sftpserver.OnDirList            += new Sftpserver.OnDirListHandler(_sftpserver_OnDirList);
                _sftpserver.OnDisconnected       += new Sftpserver.OnDisconnectedHandler(_sftpserver_OnDisconnected);
                _sftpserver.OnError              += new Sftpserver.OnErrorHandler(_sftpserver_OnError);
                _sftpserver.OnFileClose          += new Sftpserver.OnFileCloseHandler(_sftpserver_OnFileClose);
                _sftpserver.OnFileOpen           += new Sftpserver.OnFileOpenHandler(_sftpserver_OnFileOpen);
                _sftpserver.OnDirCreate          += new Sftpserver.OnDirCreateHandler(_sftpserver_OnDirCreate);
                _sftpserver.OnDirRemove          += new Sftpserver.OnDirRemoveHandler(_sftpserver_OnDirRemove);
                _sftpserver.OnSetAttributes      += new Sftpserver.OnSetAttributesHandler(_sftpserver_OnSetAttributes);
                _sftpserver.OnFileRead           += new Sftpserver.OnFileReadHandler(_sftpserver_OnFileRead);
                _sftpserver.OnFileRemove         += new Sftpserver.OnFileRemoveHandler(_sftpserver_OnFileRemove);
                _sftpserver.OnFileRename         += new Sftpserver.OnFileRenameHandler(_sftpserver_OnFileRename);
                _sftpserver.OnFileWrite          += new Sftpserver.OnFileWriteHandler(_sftpserver_OnFileWrite);
                _sftpserver.OnGetAttributes      += new Sftpserver.OnGetAttributesHandler(_sftpserver_OnGetAttributes);
                _sftpserver.OnResolvePath        += new Sftpserver.OnResolvePathHandler(_sftpserver_OnResolvePath);
                _sftpserver.OnSSHStatus          += new Sftpserver.OnSSHStatusHandler(_sftpserver_OnSSHStatus);
                _sftpserver.OnSSHUserAuthRequest += new Sftpserver.OnSSHUserAuthRequestHandler(_sftpserver_OnSSHUserAuthRequest);

                Parameters pars = Parameters.Instance();
                _sftpserver.SSHCert = new Certificate(CertStoreTypes.cstPFXFile
                                                      , pars.KeyFilePath
                                                      , pars.Password
                                                      , pars.Subject);

                _sftpserver.LocalPort     = pars.SftpParam.FTP_Port;
                _sftpserver.RootDirectory = pars.SftpParam.RootDir;
                _sftpserver.Listening     = true;
                LogHelper.InfoLog(string.Format("start success. port:{0},RootDir:{1}", pars.SftpParam.FTP_Port,
                                                pars.SftpParam.RootDir));
                return(true);
            }
            catch (System.Exception ex)
            {
                LogHelper.ErrorLog(ex);
                return(false);
            }
        }
Esempio n. 2
0
 public void StopSFtpServer()
 {
     try
     {
         if (_sftpserver != null)
         {
             if (_sftpserver.Listening)
             {
                 _sftpserver.Listening = false;
                 _sftpserver.Shutdown();
             }
             _sftpserver.Dispose();
             _sftpserver = null;
         }
     }
     catch (System.Exception ex)
     {
         LogHelper.ErrorLog(ex);
     }
 }