protected void Save_Click(object sender, EventArgs e) { //要编辑更新服务器必须对此页面有写权限 if (!WebUtil.CheckPrivilege(WebConfig.FunctionUpdateServerEditUpdateServer, OpType.WRITE, Session)) { LabelOpMsg.Text = "编辑服务器失败: " + StringDef.NotEnoughPrivilege; LabelOpMsg.Visible = true; return; } try { serverId = int.Parse(Request.Params["serverId"]); server = TheAdminServer.FTPClient.GetFTPServer(serverId); server.Address = TextBoxServerIpAddress.Text; server.Port = int.Parse(TextBoxServerPort.Text); server.UserName = TextBoxServerUserName.Text; if ((TextBoxServerPassword.Enabled == true) && (TextBoxServerPassword.Text.Length > 0)) server.Password = TextBoxServerPassword.Text; server.Literal = TextBoxServerComment.Text; if (TheAdminServer.FTPClient.EditUpdateServer(server)) { ShowMessage(StringDef.OperationSucceed, MessageType.Success); Response.Redirect("UpdateServerConfig.aspx"); } else { throw new Exception(); } } catch (Exception) { ShowMessage(StringDef.OperationFail, MessageType.Failure); } }
protected void Page_Load(object sender, EventArgs e) { if (!WebUtil.CheckPrivilege(WebConfig.FunctionUpdateServerUpdateServerState, OpType.READ, Session)) { Response.Redirect(WebConfig.PageNotEnoughPrivilege, true); } if (Request.Params["serverId"] != null && Request.Params["serverId"].Length != 0) { _updateServerId = int.Parse(Request.Params["serverId"]); server = AdminServer.TheInstance.FTPClient.GetFTPServer(_updateServerId); } Message.Text = String.Empty; if (!IsPostBack) { ViewState[ParamPath] = String.Empty; ListServerFiles(); Thread.Sleep(RefreshServerFilesDelayTime); GetServerFileList(); } ListUploadFiles(); }
public void ListFtpByType(FTPServer.FTPServerType type) { FtpServerList.Items.Clear(); FtpServerList.Items.Add(new ListItem(StringDef.None, "-1")); foreach (FTPServer server in AdminServer.TheInstance.FTPClient.FTPServerList) { if (server.FtpServerType == type) { ListItem item = new ListItem("[" + server.ID + "]" + server.Literal, server.ID.ToString()); FtpServerList.Items.Add(item); } } }
protected void Page_Load(object sender, EventArgs e) { //需要此页面有Read权限 if (!WebUtil.CheckPrivilege(WebConfig.FunctionUpdateServerEditUpdateServer, OpType.READ, Session)) { Response.Redirect(WebConfig.PageNotEnoughPrivilege, true); } if (!Page.IsPostBack) { if (Request.Params["serverId"] != null) { serverId = int.Parse(Request.Params["serverId"]); server = TheAdminServer.FTPClient.GetFTPServer(serverId); LabelTitle.Text += " : [" + server.ID + "] " + server.Literal; } if (!IsPostBack) { LoadState(); } } LabelOpMsg.Visible = false; }
static private void UploadFile(FileInfo uploadFile, FTPServer ftpServer, int timeOutSeconds) { string uploadUrl = ftpServer.FTP_URL_PREFIX + "serverlist/" + uploadFile.Name.Replace('#', '_'); // Get the object used to communicate with the server. FtpWebRequest request = (FtpWebRequest)WebRequest.Create(uploadUrl); request.Method = WebRequestMethods.Ftp.UploadFile; //set the UserName and Password of this request request.Credentials = new NetworkCredential(ftpServer.UserName, ftpServer.Password); //set Timeout property (in milliseconds)(default is 300000, which is 5 minutes) if (timeOutSeconds > 0) request.ReadWriteTimeout = timeOutSeconds * 1000; // Copy the contents of the file to the request stream. StreamReader sourceStream = new StreamReader(uploadFile.FullName, SystemConfig.Current.DefaultEncoding); byte[] fileContents = SystemConfig.Current.DefaultEncoding.GetBytes(sourceStream.ReadToEnd()); sourceStream.Close(); request.ContentLength = fileContents.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(fileContents, 0, fileContents.Length); requestStream.Close(); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); response.Close(); }
public bool LoadUpdateServer() { lock (this) { IBlazeDatabase db = null; try { db = DbFactory.GetDatabase(); IBlazeTable table = db.GetTable(TableString.UpdateServerTableName); DataSet data = new DataSet(); table.Get(data); DataRowCollection rows = data.Tables[TableString.UpdateServerTableName].Rows; foreach (DataRow row in rows) { int id = (int)row[TableString.UpdateServerFieldId]; string address = row[TableString.UpdateServerFieldAddress] as string; int port = (int)row[TableString.UpdateServerFieldPort]; string username = row[TableString.UpdateServerFieldUsername] as string; string password = row[TableString.UpdateServerFieldPassword] as string; string literal = row[TableString.UpdateServerFieldLiteral] as string; FTPServer.FTPServerType type = (FTPServer.FTPServerType)Enum.Parse(typeof(FTPServer.FTPServerType), row[TableString.UpdateServerFieldUpdateServerType].ToString()); FTPServer server = new FTPServer(id, address, port, username, password, literal, type); server.SecurityObject = AdminServer.TheInstance.SecurityManager.Get(id); _FTPServerList.Add(server); } } catch (Exception) { return false; } finally { if (db != null) { db.Close(); } } } return true; }
public bool DeleteUpdateServer(FTPServer server) { IBlazeDatabase db = null; try { db = DbFactory.GetDatabase(); db.BeginTrans(); IBlazeTable table = db.GetTable(TableString.UpdateServerTableName); DataSet taskData = new DataSet(); table.Get(taskData); DataTable taskTable = taskData.Tables[TableString.UpdateServerTableName]; foreach (DataRow row in taskTable.Rows) { if ((int)row[TableString.UpdateServerFieldId] == server.ID) { row.Delete(); break; } } table.Set(taskTable); AdminServer.TheInstance.SecurityManager.Delete(server.ID, db); db.CommitTrans(); this._FTPServerList.Remove(server); return true; } catch (Exception) { if (db != null) db.RollbackTrans(); } finally { if (db != null) db.Close(); } return false; }
public bool EditUpdateServer(FTPServer server) { IBlazeDatabase db = null; try { db = DbFactory.GetDatabase(); db.BeginTrans(); IBlazeTable table = db.GetTable(TableString.UpdateServerTableName); DataSet taskData = new DataSet(); table.Get(taskData); DataTable taskTable = taskData.Tables[TableString.UpdateServerTableName]; foreach (DataRow row in taskTable.Rows) { if ((int)row[TableString.UpdateServerFieldId] == server.ID) { row.BeginEdit(); row[TableString.UpdateServerFieldAddress] = server.Address; row[TableString.UpdateServerFieldPort] = server.Port; row[TableString.UpdateServerFieldUsername] = server.UserName; row[TableString.UpdateServerFieldPassword] = server.Password; row[TableString.UpdateServerFieldLiteral] = server.Literal; row.EndEdit(); break; } } table.Set(taskTable); db.CommitTrans(); return true; } catch (Exception) { if (db != null) db.RollbackTrans(); } finally { if (db != null) db.Close(); } return false; }
public bool AddUpdateServer(FTPServer server) { IBlazeDatabase db = null; try { db = DbFactory.GetDatabase(); db.BeginTrans(); SecurityManager sm = AdminServer.TheInstance.SecurityManager; //构造相关安全对象 string newUpdateServerObjPath = sm.Root.FullName + SecurityManager.ObjectPathDelimiter + SecurityObjectSystem + SecurityManager.ObjectPathDelimiter + SecurityObjectUpdateManagement + SecurityManager.ObjectPathDelimiter + SecurityObjectUpdateServer + SecurityManager.ObjectPathDelimiter + server.Literal; FSEyeObject newUpdateServerObj = sm.Get(newUpdateServerObjPath, db); sm.Set(newUpdateServerObj); AddFatherAce(newUpdateServerObj.Parent, newUpdateServerObj, true); //IBlazeTable table = db.GetTable(TableString.UpdateServerTableName); //DataSet taskData = new DataSet(); //table.Get(taskData); //DataTable taskTable = taskData.Tables[TableString.UpdateServerTableName]; //DataRow addRow = taskTable.Rows.Add(newUpdateServerObj.Id, // server.Address, // server.Port, // server.UserName, // server.Password, // server.Literal); //table.Set(taskTable); //插入数据到服务器表 string[] fields = new string[] { TableString.UpdateServerFieldId, TableString.UpdateServerFieldAddress, TableString.UpdateServerFieldPort, TableString.UpdateServerFieldUsername, TableString.UpdateServerFieldPassword, TableString.UpdateServerFieldLiteral, TableString.UpdateServerFieldUpdateServerType }; object[] values = new object[] { newUpdateServerObj.Id, server.Address, server.Port, server.UserName, server.Password, server.Literal, (Int16)server.FtpServerType }; IBlazeTable serverTable = db.GetTable(TableString.UpdateServerTableName); serverTable.Add(fields, values); db.CommitTrans(); server.SecurityObject = newUpdateServerObj; this._FTPServerList.Add(server); return true; } catch (Exception ex) { Util.DebugLog(ex.ToString()); if (db != null) db.RollbackTrans(); } finally { if (db != null) db.Close(); } return false; }
protected void ButtonUpFolder_Click(object sender, EventArgs e) { LabelOpMsg.Text = ""; string txtFolder = txtHiddenFolderName.Text.Trim(); if (txtFolder.Length > 0) { LabelOpMsg.Text = StringDef.Waiting; if (txtFolder.EndsWith("/")) { //最后是目录 txtFolder = txtFolder.Substring(0, txtFolder.Length - 1); } else { //最后是文件 txtFolder = txtFolder.Substring(0, txtFolder.LastIndexOf("/")); } txtHiddenFolderName.Text = txtFolder.Substring(0, txtFolder.LastIndexOf("/") == -1 ? 0 : txtFolder.LastIndexOf("/") + 1); ViewState["timeout"] = 10; ftpServer = AdminServer.TheInstance.FTPClient.GetFTPServer(int.Parse(DropDownListFTPServer.SelectedValue)); ftpServer.ListFile(txtHiddenFolderName.Text); Timer1.Enabled = true; //ListServerFiles(); } }
protected void ButtonRefresh_Click(object sender, EventArgs e) { //这是原来的显示方式 ////LabelOpMsg.Text = StringDef.Waiting; //////TextBoxRefresh.Text = 0; //表示点了一次刷新按钮 ////ViewState["timeout"] = 10; ////ViewState["serverId"] = DropDownListFTPServer.SelectedValue; ////Timer1.Enabled = true; //////ListServerFiles(); LabelOpMsg.Text = StringDef.Waiting; if (DropDownListFTPServer.SelectedValue != "") { ftpServer = AdminServer.TheInstance.FTPClient.GetFTPServer(int.Parse(DropDownListFTPServer.SelectedValue)); string folder = txtHiddenFolderName.Text.Trim(); if (folder.EndsWith(@"/")==false && folder.Length > 0 ) { folder = folder.Substring(0, folder.LastIndexOf("/") + 1); txtHiddenFolderName.Text = folder; } ftpServer.ServerFiles.Clear(); ftpServer.Result = ""; ftpServer.ListFile(folder); ListServerFiles(); Timer1.Enabled = true; } }
protected void Timer1_Tick1(object sender, EventArgs e) { int iNum = 0; if (ViewState["timeout"] != null) iNum = int.Parse(ViewState["timeout"].ToString()); if (iNum == 0) { Timer1.Enabled = false; LabelOpMsg.Text = StringDef.QueryTimeOut; } else { //if ((iNum % 5) == 0 && LabelOpMsg.Text != "ok") // ftpServer.ListFile(txtHiddenFolderName.Text.Trim()); ViewState["timeout"] = int.Parse(ViewState["timeout"].ToString()) - 1; } ftpServer = AdminServer.TheInstance.FTPClient.GetFTPServer(int.Parse(DropDownListFTPServer.SelectedValue)); ftpServer.ListFile(txtHiddenFolderName.Text.Trim()); ListServerFiles(); }
protected void Add_Click(object sender, EventArgs e) { //添加更新服务器需要在此页面上有Write的权限 if (!WebUtil.CheckPrivilege(WebConfig.FunctionUpdateServerAddUpdateServer, OpType.WRITE, Session)) { LabelOpMsg.Text = "删除服务器失败: " + StringDef.NotEnoughPrivilege; LabelOpMsg.Visible = true; return; } try { FTPServer server = new FTPServer(TextBoxServerIpAddress.Text, int.Parse(TextBoxServerPort.Text), TextBoxServerUserName.Text, TextBoxServerPassword.Text, TextBoxServerComment.Text, (FTPServer.FTPServerType)Enum.Parse(typeof(FTPServer.FTPServerType), UpdateServerTypeDropDownList.SelectedValue)); if (TheAdminServer.FTPClient.AddUpdateServer(server)) { ShowMessage(StringDef.OperationSucceed, MessageType.Success); Response.Redirect("UpdateServerConfig.aspx"); } else { throw new Exception(); } } catch (FormatException) { ShowMessage(StringDef.OperationFail+StringDef.Colon, MessageType.Failure); } catch (Exception) { ShowMessage(StringDef.OperationFail, MessageType.Failure); } }