private void SetDefaultClientProperties(IDictionary <string, object> clientProperties) { var version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); var applicationNameAndPath = Environment.GetCommandLineArgs()[0]; var applicationName = Path.GetFileName(applicationNameAndPath); var applicationPath = Path.GetDirectoryName(applicationNameAndPath); var hostname = Environment.MachineName; var product = Product ?? applicationName; var platform = Platform ?? hostname; clientProperties.Add("client_api", "EasyNetQ"); clientProperties.Add("product", product); clientProperties.Add("platform", platform); clientProperties.Add("version", version); clientProperties.Add("easynetq_version", version); clientProperties.Add("application", applicationName); clientProperties.Add("application_location", applicationPath); clientProperties.Add("machine_name", hostname); clientProperties.Add("user", UserName); clientProperties.Add("connected", DateTime.Now.ToString("MM/dd/yy HH:mm:ss")); clientProperties.Add("requested_heartbeat", RequestedHeartbeat.ToString()); clientProperties.Add("timeout", Timeout.ToString()); clientProperties.Add("publisher_confirms", PublisherConfirms.ToString()); clientProperties.Add("persistent_messages", PersistentMessages.ToString()); }
private void SetDefaultClientProperties(IDictionary <string, object> clientProperties) { string applicationNameAndPath = null; #if NET_CORE var version = this.GetType().GetTypeInfo().Assembly.GetName().Version.ToString(); #else var version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); applicationNameAndPath = Environment.GetCommandLineArgs()[0]; #endif var applicationName = "unknown"; var applicationPath = "unknown"; if (!string.IsNullOrWhiteSpace(applicationNameAndPath)) { // Note: When running the application in an Integration Services Package (SSIS) the // Environment.GetCommandLineArgs()[0] can return null, and therefor it is not possible to get // the filename or directory name. try { // Will only throw an exception if the applicationName contains invalid characters, is empty, or too long // Silently catch the exception, as we will just leave the application name and path to "unknown" applicationName = Path.GetFileName(applicationNameAndPath); applicationPath = Path.GetDirectoryName(applicationNameAndPath); } catch (ArgumentException) { } catch (PathTooLongException) { } } #if NET_CORE var hostname = System.Net.Dns.GetHostName(); #else var hostname = Environment.MachineName; #endif var product = Product ?? applicationName; var platform = Platform ?? hostname; clientProperties.Add("client_api", "EasyNetQ"); clientProperties.Add("product", product); clientProperties.Add("platform", platform); clientProperties.Add("version", version); clientProperties.Add("easynetq_version", version); clientProperties.Add("application", applicationName); clientProperties.Add("application_location", applicationPath); clientProperties.Add("machine_name", hostname); clientProperties.Add("user", UserName); clientProperties.Add("connected", DateTime.UtcNow.ToString("u")); // UniversalSortableDateTimePattern: yyyy'-'MM'-'dd HH':'mm':'ss'Z' clientProperties.Add("requested_heartbeat", RequestedHeartbeat.ToString()); clientProperties.Add("timeout", Timeout.ToString()); clientProperties.Add("publisher_confirms", PublisherConfirms.ToString()); clientProperties.Add("persistent_messages", PersistentMessages.ToString()); }
private void SetClientDefaultProperties() { var clientProperties = new Dictionary <string, object>(); var version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); var applicationNameAndPath = Environment.GetCommandLineArgs()[0]; var applicationName = "unknown"; var applicationPath = "unknown"; if (!string.IsNullOrWhiteSpace(applicationNameAndPath)) { // Note: When running the application in an Integration Services Package (SSIS) the // Environment.GetCommandLineArgs()[0] can return null, and therefor it is not possible to get // the filename or directory name. try { // Will only throw an exception if the applicationName contains invalid characters, is empty, or too long // Silently catch the exception, as we will just leave the application name and path to "unknown" applicationName = Path.GetFileName(applicationNameAndPath); applicationPath = Path.GetDirectoryName(applicationNameAndPath); } catch (ArgumentException) { } catch (PathTooLongException) { } } var hostname = Environment.MachineName; var product = applicationName; var platform = hostname; clientProperties.Add("product", product); clientProperties.Add("platform", platform); clientProperties.Add("application", applicationName); clientProperties.Add("application_location", applicationPath); clientProperties.Add("machine_name", hostname); clientProperties.Add("connected", DateTimeOffset.Now.ToString("yyyy-MM-dd HH:mm:ss")); clientProperties.Add("requested_heartbeat", RequestedHeartbeat.ToString()); clientProperties.Add("timeout", Timeout.ToString()); clientProperties.Add("publisher_confirms", PublisherConfirms.ToString()); clientProperties.Add("persistent_messages", PersistentMessages.ToString()); ClientProperties.AddRange(clientProperties); }