Beispiel #1
0
    /// <summary>
    /// Считывает
    /// </summary>
    public static BioResponse ReadPipe(String pipe, IDBSession dbSess) {
      var vResult = new BioResponse {
        Success = true
      };
      var v_sp = new RemoteProcessStatePack();

      if (!String.IsNullOrEmpty(pipe)) {
        var sql = "select ai_pipe.receive(:pipeName) as F_RSLT from dual";
        v_sp.pipe = pipe;
        try {
          var resObj = SQLCmd.ExecuteScalarSQL(dbSess, sql, new Params(new Param("pipeName", v_sp.pipe)), 120);
          var linesData = SQLUtils.ObjectAsString(resObj);
          if (linesData != null) {
            v_sp.sessionUID = ExctractSessionID(ref linesData);
            v_sp.lastPipedLines = new[] { linesData };
          }
        } catch (ThreadAbortException) {
          throw;
        } catch (Exception ex) {
          vResult.Ex = EBioException.CreateIfNotEBio(ex);
        }
      }
      vResult.RmtStatePacket = v_sp;
      return vResult;
    }
 protected override void doOnRmtProcRunnedSuccess(BioResponse response) {
   //if (response.rmtStatePacket != null)
   //  this.SessionUID = response.rmtStatePacket.sessionUID;
 }