static FilterEngine() { filterEngineLock = new object(); currentFilterCriteria = null; searchOptionNames = new Dictionary <string, SearchOptions>(); traceLevelNames = new Dictionary <string, SourceLevels>(); filterOptionSettings = null; securityMessageActionIndex = new Dictionary <string, int>(); reliableMessageActionIndex = new Dictionary <string, int>(); transactionMessageActionIndex = new Dictionary <string, int>(); securityMessageTraceIdentifierIndex = new Dictionary <string, int>(); reliableMessageTraceIdentifierIndex = new Dictionary <string, int>(); transactionMessageTraceIdentifierIndex = new Dictionary <string, int>(); searchOptionNames.Add(SR.GetString("AppFilterItem1"), SearchOptions.None); searchOptionNames.Add(SR.GetString("AppFilterItem2"), SearchOptions.EventID); searchOptionNames.Add(SR.GetString("AppFilterItem3"), SearchOptions.SourceName); searchOptionNames.Add(SR.GetString("AppFilterItem4"), SearchOptions.ProcessName); searchOptionNames.Add(SR.GetString("AppFilterItem5"), SearchOptions.TraceCode); searchOptionNames.Add(SR.GetString("AppFilterItem6"), SearchOptions.Description); searchOptionNames.Add(SR.GetString("AppFilterItem7"), SearchOptions.StartTime); searchOptionNames.Add(SR.GetString("AppFilterItem8"), SearchOptions.StopTime); searchOptionNames.Add(SR.GetString("AppFilterItem9"), SearchOptions.TimeRange); searchOptionNames.Add(SR.GetString("AppFilterItem10"), SearchOptions.EndpointAddress); searchOptionNames.Add(SR.GetString("AppFilterItem17"), SearchOptions.AppDataSection); searchOptionNames.Add(SR.GetString("AppFilterItem18"), SearchOptions.EntireRawData); searchOptionNames.Add(SR.GetString("AppFilterItem11"), SearchOptions.CustomFilter); traceLevelNames.Add(SR.GetString("AppFilterItem12"), SourceLevels.All); traceLevelNames.Add(SR.GetString("AppFilterItem13"), SourceLevels.Critical); traceLevelNames.Add(SR.GetString("AppFilterItem14"), SourceLevels.Error); traceLevelNames.Add(SR.GetString("AppFilterItem15"), SourceLevels.Warning); traceLevelNames.Add(SR.GetString("AppFilterItem16"), SourceLevels.Information); securityMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2005/02/trust", 0); securityMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2004/04/trust", 0); securityMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2005/02/sc", 0); securityMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2004/04/sc", 0); securityMessageActionIndex.Add("http://schemas.microsoft.com/ws/2004/04/addressingidentityextension", 0); securityMessageActionIndex.Add("http://schemas.microsoft.com/mb/2004/01/security", 0); reliableMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2005/02/rm", 0); reliableMessageActionIndex.Add("http://schemas.microsoft.com/net/2005/02/rm", 0); transactionMessageActionIndex.Add("http://schemas.microsoft.com/ws/2006/02/transactions", 0); transactionMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2004/10/wscoor", 0); transactionMessageActionIndex.Add("http://schemas.xmlsoap.org/ws/2004/10/wsat", 0); securityMessageTraceIdentifierIndex.Add("System.ServiceModel.Security", 0); securityMessageTraceIdentifierIndex.Add("System.IdentityModel", 0); reliableMessageTraceIdentifierIndex.Add("System.ServiceModel.Channels.RM", 0); transactionMessageTraceIdentifierIndex.Add("Microsoft.Transactions.TransactionBridge", 0); transactionMessageTraceIdentifierIndex.Add("http://msdn.microsoft.com/en-US/library/System.ServiceModel.Transactions.", 0); }
public void PerformFiltering(FilterCriteria criteria) { if (criteria != null && objectStateController.CurrentStateName != "TraceFilterDisableState") { if (criteria.SearchOption == SearchOptions.None) { searchInList.SelectedIndex = 0; } SourceLevels filterSourceLevel = criteria.FilterSourceLevel; if (filterSourceLevel == SourceLevels.All) { traceLevelList.SelectedIndex = 0; } FilterNowAction(); } }
private void FilterNowAction() { FilterCriteria filterCriteria = new FilterCriteria(); filterCriteria.FilterSourceLevel = FilterEngine.ParseLevel((traceLevelList.SelectedItem != null) ? traceLevelList.SelectedItem.ToString() : SR.GetString("AppFilterItem1")); if (searchInList.SelectedIndex >= 12) { filterCriteria.SearchOption = SearchOptions.CustomFilter; } else { filterCriteria.SearchOption = FilterEngine.ParseSearchOption((searchInList.SelectedItem != null) ? searchInList.SelectedItem.ToString() : SR.GetString("AppFilterItem13")); } switch (filterCriteria.SearchOption) { case SearchOptions.EventID: case SearchOptions.SourceName: case SearchOptions.ProcessName: case SearchOptions.TraceCode: case SearchOptions.Description: case SearchOptions.EndpointAddress: case SearchOptions.AppDataSection: case SearchOptions.EntireRawData: filterCriteria.searchCondition = toolStripTextBoxLookFor.Text; break; case SearchOptions.StartTime: { DateTime value4 = dtpTime.Value; DateTime dateTime2 = new DateTime(value4.Year, value4.Month, value4.Day, value4.Hour, value4.Minute, value4.Second, 0, value4.Kind); filterCriteria.searchCondition = dateTime2; break; } case SearchOptions.StopTime: { DateTime value3 = dtpTime.Value; DateTime dateTime = new DateTime(value3.Year, value3.Month, value3.Day, value3.Hour, value3.Minute, value3.Second, 999, value3.Kind); filterCriteria.searchCondition = dateTime; break; } case SearchOptions.TimeRange: { DateTime value = dtpTimeFrom.Value; DateTime startTime = new DateTime(value.Year, value.Month, value.Day, value.Hour, value.Minute, value.Second, 0, value.Kind); DateTime value2 = dtpTimeTo.Value; DateTime endTime = new DateTime(value2.Year, value2.Month, value2.Day, value2.Hour, value2.Minute, value2.Second, 999, value2.Kind); filterCriteria.searchCondition = new DateTimePair(startTime, endTime); break; } case SearchOptions.CustomFilter: if (customFilterMap.ContainsKey(searchInList.SelectedIndex)) { filterCriteria.searchCondition = new CustomFilterCondition(); ((CustomFilterCondition)filterCriteria.searchCondition).customFilter = customFilterMap[searchInList.SelectedIndex]; if (((CustomFilterCondition)filterCriteria.searchCondition).customFilter.ContainsParameters) { string text = ((CustomFilterCondition)filterCriteria.searchCondition).customFilter.ParseXPathExpression(toolStripTextBoxLookFor.Text); if (string.IsNullOrEmpty(text)) { errorReport.ReportErrorToUser(SR.GetString("CF_IPError")); return; } ((CustomFilterCondition)filterCriteria.searchCondition).parsedXPathExpress = text; } } break; } FilterEngine.CurrentFilterCriteria = filterCriteria; try { if (this.TraceFilterChangedEvent != null) { this.TraceFilterChangedEvent(this, new TraceFilterChangedEventArgs(filterCriteria)); } } catch (Exception ex) { ExceptionManager.GeneralExceptionFilter(ex); ExceptionManager.LogAppError(new TraceViewerException(SR.GetString("MsgTraceFilterChangeCallbackError") + ex.Message)); } }
internal TraceFilterChangedEventArgs(FilterCriteria f) { }