Ejemplo n.º 1
0
    protected void ReloadData()
    {
        if (StorageHelper.IsExternalStorage)
        {
            this.drpOperationType.Visible = true;
            this.lblOperationType.Visible = true;
            if (!RequestHelper.IsPostBack())
            {
                this.drpOperationType.Items.Add(new ListItem(GetString("general.selectall"), ""));
                this.drpOperationType.Items.Add(new ListItem(GetString("general.general"), IOOperationType.General.ToString()));
                this.drpOperationType.Items.Add(new ListItem(GetString("FilesLog.TypeAzureBlob"), IOOperationType.AzureBlob.ToString()));
            }
        }

        if (!File.DebugFiles)
        {
            this.lblInfo.Text = GetString("DebugFiles.NotConfigured");
        }
        else
        {
            this.plcLogs.Controls.Clear();

            for (int i = File.LastLogs.Count - 1; i >= 0; i--)
            {
                try
                {
                    // Get the log
                    RequestLog log = (RequestLog)File.LastLogs[i];
                    if (log != null)
                    {
                        // Load the table
                        DataTable dt = log.LogTable;
                        if (!DataHelper.DataSourceIsEmpty(dt))
                        {
                            bool            display       = true;
                            IOOperationType operationType = IOOperationType.All;
                            if (StorageHelper.IsExternalStorage)
                            {
                                string type = (this.drpOperationType.SelectedValue == null ? "" : this.drpOperationType.SelectedValue.ToLower());
                                switch (type)
                                {
                                case "azureblob":
                                    operationType = IOOperationType.AzureBlob;
                                    break;

                                case "general":
                                    operationType = IOOperationType.General;
                                    break;
                                }

                                // Apply operation type filter
                                DataView dv = new DataView(dt);
                                if (operationType != IOOperationType.All)
                                {
                                    dv.RowFilter = "OperationType = '" + operationType.ToString() + "'";
                                }

                                display = !DataHelper.DataSourceIsEmpty(dv);
                            }

                            if (display)
                            {
                                // Load the control
                                FilesLog logCtrl = (FilesLog)LoadControl("~/CMSAdminControls/Debug/FilesLog.ascx");
                                logCtrl.ID = "filesLog_" + i;
                                logCtrl.EnableViewState     = false;
                                logCtrl.Log                 = log;
                                logCtrl.LogStyle            = "";
                                logCtrl.ShowCompleteContext = this.chkCompleteContext.Checked;
                                logCtrl.OperationTypeFilter = operationType;

                                // Add to the output
                                this.plcLogs.Controls.Add(new LiteralControl("<div>&lrm;<strong>&nbsp;" + GetRequestLink(log.RequestURL, log.RequestGUID) + "</strong> (" + log.RequestTime.ToString("hh:mm:ss") + ")&lrm;<br /><br />"));
                                this.plcLogs.Controls.Add(logCtrl);
                                this.plcLogs.Controls.Add(new LiteralControl("</div><br /><br />"));
                            }
                        }
                    }
                }
                catch
                {
                }
            }
        }
    }
Ejemplo n.º 2
0
 public IOEventArgs(IOOperationType ioOperationType, long position, int count)
 {
     this.ioOperationType = ioOperationType;
     this.position = position;
     this.count = count;
 }
Ejemplo n.º 3
0
 public IOEventArgs(IOOperationType ioOperationType, long position, int count)
 {
     this.IoOperationType = ioOperationType;
     this.Position        = position;
     this.Count           = count;
 }