コード例 #1
0
ファイル: MasterControl.asmx.cs プロジェクト: vinilin/SYTD
 public void UpdateFileSet(long id, FSM.FileSet fs,string srcIp)
 {
     QS.Queries qs = new QS.Queries();
     // 停止中转服务器文件传输
     StopTrans(qs.QueryActInterSrv());
     // 删除中转服务器上相关文件
     //DeleteFiles(fs.ID,qs.QueryActInterSrv());
     // 清除服务器上的文件集信息
     ShareManDBDataContext context = new ShareManDBDataContext();
     try
     {
         context.Connection.Open();
         context.Transaction = context.Connection.BeginTransaction();
         DeleteFileSet(id,context);
         FSM.FileSet tmp = CreateFileSet(id, fs, srcIp, context);
         TransFileSet("",srcIp,tmp);
     }
     catch (System.Exception e)
     {
         context.Transaction.Rollback();
         throw e;
     }
 }
コード例 #2
0
ファイル: MasterControl.asmx.cs プロジェクト: vinilin/SYTD
 public void TransFileSet(string srcIp,string dstIp, FSM.FileSet fset)
 {
     Trans ts = new Trans();
     QS.Queries qs = new QS.Queries();
     ts.Url = qs.QueryUrl(dstIp, QS.ServiceType.FileService);
     Position pos = new Position();
     pos.ip = srcIp;
     ts.Transform(Convert(fset),pos);
     ts.Start();
 }
コード例 #3
0
ファイル: MasterControl.asmx.cs プロジェクト: vinilin/SYTD
 public void StopTrans(string srvIp)
 {
     Trans ts = new Trans();
     QS.Queries qs = new QS.Queries();
     ts.Url = qs.QueryUrl(srvIp, QS.ServiceType.FileService);
     // 停止中转服务器上的任务
     ts.Stop();
 }
コード例 #4
0
ファイル: MasterControl.asmx.cs プロジェクト: vinilin/SYTD
 public void RemoveBase(long id, ShareManDBDataContext context)
 {
     QS.Queries qs = new QS.Queries();
     // 停止中转服务器文件传输
     StopTrans(qs.QueryActInterSrv());
     // 删除中转服务器上相关文件
     //DeleteFiles(,qs.QueryActInterSrv());
     // 清除服务器上的文件集信息
     DeleteFileSet(id,context);
     // 清楚已经发布的数据
     RemovePublish(id, context);
     // 清除其他相关信息
     CleanInfos(id, context);
 }
コード例 #5
0
ファイル: MasterControl.asmx.cs プロジェクト: vinilin/SYTD
 public void DeleteFileSet(long id, ShareManDBDataContext context)
 {
     FSM.FileSetMan fsm = new ShareMan.FSM.FileSetMan();
     QS.Queries qs = new QS.Queries();
     var il = from l in context.ItemLink where l.ID == id select l;
     foreach (ItemLink it in il)
     {
         long[] ids = {it.InterLink, it.SrcLink};
         var flink = from f in context.FileSetLink where ids.Contains(f.ID)  select f;
         foreach (FileSetLink fl in flink)
         {
             fsm.Url = qs.QueryUrl(fl.IP, QS.ServiceType.FileSetMan);
             // 先清除文件
             DeleteFiles(fl.FileSetID, fl.IP);
             // 在清除数据
             fsm.DeleteFileSet(fl.FileSetID);
             context.FileSetLink.DeleteOnSubmit(fl);
         }
         context.ItemLink.DeleteOnSubmit(it);
     }
 }
コード例 #6
0
ファイル: MasterControl.asmx.cs プロジェクト: vinilin/SYTD
 public void DeleteFiles(long id, string srvIp)
 {
     Trans ts = new Trans();
     QS.Queries qs = new QS.Queries();
     ts.Url = qs.QueryUrl(srvIp, QS.ServiceType.FileService);
     // 停止中转服务器上的任务
     ts.Delete(id.ToString());
 }