using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; using Vrh.XmlProcessing; namespace Vrh.OneReport { /// /// A OneReport xml-ben a "General"-ben megadott helyen /// a "Timout" elemet reprezentálja. /// public class TimeoutElement : XmlLinqBase { #region Constants /// /// AsyncPostBackTimout alapértelmezett értéke /// public const int DEFAULT_ASYNCPOSTBACK = 60; /// /// ExecutionTimout alapértelmezett értéke /// public const int DEFAULT_EXECUTION = 120; /// /// SQL Query Timout alapértelmezett értéke /// public const int DEFAULT_SQLQUERY = 60; #endregion Constants #region AttributeNames static class /// /// Az XML fájlban ilyen attribútum nevek találhatóak egy "general.Timout" elemben. /// public static class AttributeNames { /// /// 'AsyncPostBack' attribútum név. /// public const string ASYNCPOSTBACK = "AsyncPostBack"; /// /// 'Execution' attribútum név. /// public const string EXECUTION = "Execution"; /// /// 'SqlQuery' attribútum név. /// public const string SQLQUERY = "SqlQuery"; /// /// 'AutoPurge' attributum név. /// public const string AUTOPURGE = "AutoPurge"; } #endregion AttributeNames static class #region Properties /// /// AsyncPostBack timeout érték másodpercben. /// Mennyi ideig várjon az akció az eredményére. /// Alapértelmezett értéke: 60 /// public int AsyncPostBack { get; set; } = DEFAULT_ASYNCPOSTBACK; /// /// Http runtime execution timeout érték másodpercben) /// Alapértelmezett értéke: 120 /// public int Execution { get; set; } = DEFAULT_EXECUTION; /// /// SQL query-k számára érvényes timeout érték másodpercben. /// Alapértelmezett értéke: 60 /// public int SqlQuery { get; set; } = DEFAULT_SQLQUERY; #endregion Properties #region Constructors /// /// Alapértelmezett konstructor /// public TimeoutElement() { this.AsyncPostBack = DEFAULT_ASYNCPOSTBACK; this.Execution = DEFAULT_EXECUTION; this.SqlQuery = DEFAULT_SQLQUERY; } /// /// Konstruktor az XElement feldolgozásával. /// /// Egy "Timeout" XElement. /// Az éppen érvényes alapértelmezés. public TimeoutElement(XElement xelement, TimeoutElement defaultTimout = null) { if (defaultTimout == null) { defaultTimout = new TimeoutElement(); } if (xelement != null) { this.AsyncPostBack = GetValue(xelement.Attribute(AttributeNames.ASYNCPOSTBACK), defaultTimout.AsyncPostBack); this.Execution = GetValue(xelement.Attribute(AttributeNames.EXECUTION), defaultTimout.Execution); this.SqlQuery = GetValue(xelement.Attribute(AttributeNames.SQLQUERY), defaultTimout.SqlQuery); } else { this.AsyncPostBack = defaultTimout.AsyncPostBack; this.Execution = defaultTimout.Execution; this.SqlQuery = defaultTimout.SqlQuery; } } #endregion Constructors } }