void QueueInference () { XmlParsedDocument doc = this.CU as XmlParsedDocument; if (defaultSchemaCompletionData != null || doc == null || doc.XDocument == null || inferenceQueued) return; if (inferredCompletionData == null || (doc.ParseTime - inferredCompletionData.TimeStamp).TotalSeconds >= 5 && doc.Errors.Count <= inferredCompletionData.ErrorCount) { inferenceQueued = true; System.Threading.ThreadPool.QueueUserWorkItem (delegate { InferredXmlCompletionProvider newData = new InferredXmlCompletionProvider (); newData.Populate (doc.XDocument); newData.TimeStamp = DateTime.Now; newData.ErrorCount = doc.Errors.Count; this.inferenceQueued = false; this.inferredCompletionData = newData; }); } }
void QueueInference () { XmlParsedDocument doc = this.CU as XmlParsedDocument; if (defaultSchemaCompletionData != null || doc == null || doc.XDocument == null || inferenceQueued) return; if (inferredCompletionData == null || (doc.LastWriteTimeUtc - inferredCompletionData.TimeStampUtc).TotalSeconds >= 5 && doc.Errors.Count <= inferredCompletionData.ErrorCount) { inferenceQueued = true; System.Threading.ThreadPool.QueueUserWorkItem (delegate { try { InferredXmlCompletionProvider newData = new InferredXmlCompletionProvider (); newData.Populate (doc.XDocument); newData.TimeStampUtc = DateTime.UtcNow; newData.ErrorCount = doc.Errors.Count; this.inferenceQueued = false; this.inferredCompletionData = newData; } catch (Exception ex) { LoggingService.LogInternalError ("Unhandled error in XML inference", ex); } }); } }
void SetDefaultSchema (string extension) { if (extension == null) return; defaultSchemaCompletionData = XmlSchemaManager.GetSchemaCompletionData (extension); if (defaultSchemaCompletionData != null) inferredCompletionData = null; else QueueInference (); defaultNamespacePrefix = XmlSchemaManager.GetNamespacePrefix (extension); }
void SetDefaultSchema () { var filename = document.FileName; if (filename == null) return; defaultSchemaCompletionData = XmlSchemaManager.GetSchemaCompletionDataForFileName (filename); if (defaultSchemaCompletionData != null) inferredCompletionData = null; else QueueInference (); defaultNamespacePrefix = XmlSchemaManager.GetNamespacePrefixForFileName (filename); }