Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.OnBeginExecuteCallback C# (CSharp) 메소드

OnBeginExecuteCallback() 공개 메소드

On begin callback from Framework event source.
public OnBeginExecuteCallback ( long id, string dataSource, string database, string commandText ) : void
id long Identifier of SQL connection object.
dataSource string Data source name.
database string Database name.
commandText string Command text.
리턴 void
        public void OnBeginExecuteCallback(long id, string dataSource, string database, string commandText)
        {
            try
            {
                var resourceName = this.GetResourceName(dataSource, database, commandText);

                DependencyCollectorEventSource.Log.BeginCallbackCalled(id, resourceName);

                if (string.IsNullOrEmpty(resourceName))
                {
                    DependencyCollectorEventSource.Log.NotExpectedCallback(id, "OnBeginSql", "resourceName is empty");
                    return;
                }

                var telemetryTuple = this.TelemetryTable.Get(id);
                if (telemetryTuple == null)
                {
                    bool isCustomCreated = false;
                    var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient);
                    telemetry.Name = resourceName;
                    telemetry.Target = string.Join(" | ", dataSource, database);
                    telemetry.Type = RemoteDependencyConstants.SQL;
                    telemetry.Data = commandText;
                    this.TelemetryTable.Store(id, new Tuple<DependencyTelemetry, bool>(telemetry, isCustomCreated));
                }
            }
            catch (Exception exception)
            {
                DependencyCollectorEventSource.Log.CallbackError(id, "OnBeginSql", exception);
            }
        }