コード例 #1
0
        private void CorrectSalesOrderWithUnknownRef(long shopifyOrderId)
        {
            var shopifyOrderRecord = _syncOrderRepository.RetrieveShopifyOrder(shopifyOrderId);

            if (!shopifyOrderRecord.HasSyncWithUnknownNbr())
            {
                return;
            }

            var salesOrderRecord = shopifyOrderRecord.AcumaticaSalesOrder;

            var customerOrderRef = shopifyOrderRecord.ShopifyOrderId.ToString();
            var findOrders       = _salesOrderClient.FindSalesOrder(customerOrderRef);

            if (findOrders.Count == 0)
            {
                _logService.Log(LogBuilder.ClearingUnknownAcumaticaSalesOrderRef(shopifyOrderRecord));
                _acumaticaOrderRepository.DeleteSalesOrder(shopifyOrderRecord.AcumaticaSalesOrder);
                return;
            }

            // Heuristic for now
            //
            var salesOrder = findOrders.OrderBy(x => x.OrderNbr.value).First();

            salesOrderRecord.Ingest(salesOrder);
            _logService.Log(LogBuilder.FillingUnknownAcumaticaSalesOrderRef(shopifyOrderRecord, salesOrderRecord));
            _acumaticaOrderRepository.SaveChanges();
        }
コード例 #2
0
ファイル: LoggerExtensions.cs プロジェクト: fwka1605/next
        public static LogBuilder Append(this LogBuilder buidler,
                                        string message, Exception ex,
                                        string sessionKey,
                                        string query, string database, object param)
        {
            if (buidler == null)
            {
                return(buidler);
            }
            buidler.Message(message);
            if (ex != null)
            {
                buidler.Exception(ex);
            }

            if (!string.IsNullOrEmpty(sessionKey))
            {
                buidler.Property("SessionKey", sessionKey);
            }

            if (string.IsNullOrEmpty(query))
            {
                return(buidler);
            }
            buidler.Property("Query", query);
            buidler.Property("DatabaseName", database);
            if (param != null)
            {
                buidler.Property("Parameters", param.ConvertParameterToJson());
            }

            return(buidler);
        }
コード例 #3
0
 public static LogBuilder Account(this LogBuilder builder, ulong id, string user, SecurityLevel securityLevel = SecurityLevel.User)
 {
     builder.LogEventInfo.Properties["account_id"]    = id;
     builder.LogEventInfo.Properties["account_user"]  = user;
     builder.LogEventInfo.Properties["account_level"] = securityLevel;
     return(builder);
 }
コード例 #4
0
 IDisposable ILogger.BeginScope <TState>(TState state)
 {
     lock (_sync) // Guard against tests with explicit concurrency
     {
         return(LogBuilder.Indent());
     }
 }
コード例 #5
0
        private void Log(string text, params object[] args)
        {
            var msg = string.Format(text, args);

            //TODO: logging such as log4net etc.
            LogBuilder.AppendLine(msg);
        }
コード例 #6
0
        public LauncherForm()
        {
            Fileworks  fw = new Fileworks();
            LogBuilder lb = new LogBuilder();

            InitializeComponent();
            if (!Directory.Exists("cstrike"))
            {
                cscbx.Enabled = false;
                lb.AddLine("cstrike folder not found. cscbx radiobtn disabled.");
            }

            if (!Directory.Exists("ag"))
            {
                agcbx.Enabled = false;
                lb.AddLine("ag folder not found. agcbx radiobtn disabled.");
            }

            if (!Directory.Exists("bshift"))
            {
                bscbx.Enabled = false;
                lb.AddLine("bshift folder not found. bscbx radiobtn disabled.");
            }

            if (!Directory.Exists("gearbox"))
            {
                ofcbx.Enabled = false;
                lb.AddLine("gearbox folder not found. ofcbx radiobtn disabled.");
            }
        }
コード例 #7
0
        private void Timer_Tick(object sender, EventArgs e)
        {
            if (ObservedProcess.Process.HasExited)
            {
                return;
            }
            byte[] result = TryReadProcessMemory(ObservedProcess.ProcessHandle, ObservedProcess.Process.MainModule.BaseAddress.ToInt64(), Convert.ToInt64(TargetAddress, 16));
            if (result == null)
            {
                return;
            }
            ulong oldValue = ReadValue;

            ReadValue = ((ReadValueType)ValueType).ToValue(result);
            if (ReadValue == oldValue)
            {
                return;
            }
            foreach (Notifier notifier in Notifiers)
            {
                if (notifier.CompareValue(oldValue, ReadValue))
                {
                    LogBuilder.AppendLine(string.Format("[{0}] : {1}", DateTime.Now.ToString(), notifier.GetCompareInfo(oldValue, ReadValue)));
                    if (NotifierPriorityEnabled)
                    {
                        break;
                    }
                }
            }
            ValueUpdated?.Invoke(this, oldValue, ReadValue);
        }
コード例 #8
0
        /// <summary>
        /// Adds a console target to the logging system
        /// </summary>
        /// <param name="options"></param>
        /// <param name="condition">Log conditions for this target</param>
        /// <param name="formatter">Message formatter for this target</param>
        /// <param name="output">Output buffer this target will write to</param>
        /// <param name="enableBuffering">Sets if buffering should be used with this target</param>
        /// <param name="maxBufferSize">Maximum number of elements in the buffer</param>
        /// <param name="bufferExceededBehavior">Sets the behavior of this target when the buffer is full and new entries are logged</param>
        public static LogBuilder AddConsoleTarget(
            this LogBuilder options,
            Func <LogEntry, bool> condition   = null,
            Func <LogEntry, string> formatter = null,
            ConsoleOutputs output             = ConsoleOutputs.StandardOutput,
            bool enableBuffering = true,
            int maxBufferSize    = BufferSize.Infinite,
            BufferExceededBehaviors bufferExceededBehavior = BufferExceededBehaviors.Lock)
        {
            var console_logger = new ConsoleTarget(
                (m) => System.Console.WriteLine(m),
                (m) => System.Console.Error.WriteLine(m))
            {
                Formatter    = formatter ?? ConsoleTarget.DEFAULT_FORMAT,
                OutputStream = output,
                Condition    = condition
            };

            if (enableBuffering)
            {
                options.AddLogTarget(
                    new BufferedLogger(
                        console_logger,
                        maxBufferSize,
                        bufferExceededBehavior));
            }
            else
            {
                options.AddLogTarget(console_logger);
            }

            return(options);
        }
コード例 #9
0
        public async Task <TemperatureProfile> GetActiveProfile()
        {
            return(await Task.Run(() =>
            {
                TemperatureProfile profile = null;
                Stopwatch sw = new Stopwatch();
                sw.Start();
                try
                {
                    var profiles = _context.TemperatureProfiles.Include(p => p.Schedules).ToList();
                    profile = profiles.Where(p => p.Current).First();
                    profile.Schedules = profile.Schedules.OrderBy(s => s.DayOfWeek).ThenBy(s => s.Start).ToList();
                    _logger.Information(
                        LogBuilder.StartNew("Active profile")
                        .KeyValue("Name", profile.Name)
                        .KeyValue("Configurations", profile.Schedules.Count)
                        .ElapsedTime(sw));
                }
                catch (Exception err)
                {
                    _logger.Error(err, LogBuilder.StartNew("Errore nel recupero del profilo corrente").ElapsedTime(sw));
                }
                finally
                {
                    sw.Stop();
                }

                return profile;
            }));
        }
コード例 #10
0
 /// <summary>
 /// 创建文件
 /// </summary>
 /// <param name="filePath"></param>
 /// <param name="append">是否在源文件基础追加</param>
 public static void CreateFile(string filePath, bool append = false)
 {
     if (File.Exists(filePath))
     {
         if (append == false)//不追加则创建文件
         {
             try
             {
                 File.Delete(filePath);
                 using (FileStream fstream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
                 {
                     fstream.SetLength(0);
                 }
             }
             catch (Exception ex)
             {
                 LogBuilder.CreateInstance().Error("MemoryCache Set Error:" + ex.Message);
             }
         }
     }
     else
     {
         CreateDirectory(filePath);
         using (FileStream fstream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
         {
             fstream.SetLength(0);
         }
     }
 }
コード例 #11
0
    public Task BuildConfigLogMessageMinimal()
    {
        ConfigResult config  = new();
        var          message = LogBuilder.BuildConfigLogMessage("theRoot", config, "theConfigFilePath");

        return(Verifier.Verify(message));
    }
コード例 #12
0
 public void Test()
 {
     using (var container = Container())
     {
         Assert.That(LogBuilder.ToString(), Is.EqualTo(""));
         var hoster = container.Get <Hoster>();
         Assert.That(LogBuilder.ToString(), Is.EqualTo(""));
         var outerWrap = container.Get <ComponentWrap>();
         Assert.That(LogBuilder.ToString(), Is.EqualTo("Component0.ctor ComponentWrap1.ctor "));
         LogBuilder.Clear();
         ComponentWrap clone1;
         using (var clonedContainer = hoster.container.Clone(null))
         {
             clone1 = clonedContainer.Get <ComponentWrap>();
             Assert.That(clone1, Is.Not.SameAs(outerWrap));
             Assert.That(LogBuilder.ToString(), Is.EqualTo("Component2.ctor ComponentWrap3.ctor "));
             Assert.That(container.Get <ComponentWrap>(), Is.SameAs(outerWrap));
             LogBuilder.Clear();
         }
         Assert.That(LogBuilder.ToString(), Is.EqualTo("Component2.Dispose "));
         LogBuilder.Clear();
         using (var clonedContainer = hoster.container.Clone(null))
         {
             Assert.That(clonedContainer.Get <ComponentWrap>(), Is.Not.SameAs(outerWrap));
             Assert.That(clonedContainer.Get <ComponentWrap>(), Is.Not.SameAs(clone1));
             Assert.That(clonedContainer.Get <ComponentWrap>(), Is.SameAs(clonedContainer.Get <ComponentWrap>()));
             Assert.That(LogBuilder.ToString(), Is.EqualTo("Component4.ctor ComponentWrap5.ctor "));
             LogBuilder.Clear();
         }
         Assert.That(LogBuilder.ToString(), Is.EqualTo("Component4.Dispose "));
         LogBuilder.Clear();
     }
     Assert.That(LogBuilder.ToString(), Is.EqualTo("Component0.Dispose "));
 }
コード例 #13
0
        public void UpdateInventoryLevels(AcumaticaStockItem stockItem)
        {
            if (MonsterConfig.Settings.DisableShopifyPut)
            {
                _executionLogService.Log(LogBuilder.ShopifyPutDisabled());
                return;
            }

            var variant =
                _inventoryRepository
                .RetrieveVariant(stockItem.MatchedVariant().ShopifyVariantId);

            if (variant.IsMissing)
            {
                _logger.Debug(
                    $"Skipping Inventory Update for " +
                    $"Variant {variant.ShopifySku} ({variant.ShopifyVariantId}) " +
                    $"StockItem {stockItem} - reason: Missing Variant");
                return;
            }

            if (variant.ShopifyProduct.IsDeleted)
            {
                _logger.Debug(
                    $"Skipping Inventory Update for " +
                    $"Variant {variant.ShopifySku} ({variant.ShopifyVariantId}) " +
                    $"StockItem {stockItem} - reason: Deleted Parent Product");
                return;
            }

            foreach (var level in variant.ShopifyInventoryLevels)
            {
                UpdateInventoryLevel(stockItem, level);
            }
        }
コード例 #14
0
    public ReceiveMessageBehavior(LogBuilder logBuilder)
    {
        var templateParser = new MessageTemplateParser();

        messageTemplate = templateParser.Parse("Receive message {MessageType} {MessageId}.");
        logger          = logBuilder.GetLogger("NServiceBus.Serilog.MessageReceived");
    }
コード例 #15
0
        public LoggingService(Action <LogBuilder> fn)
        {
            LogBuilder log = new LogBuilder();

            fn(log);
            log.Apply();
        }
コード例 #16
0
        private void ProcessAdjustmentMemo(AdjustmentAction action)
        {
            if (action.ActionCode == ActionCode.None)
            {
                return;
            }

            if (action.ActionCode == ActionCode.CreateInAcumatica &&
                action.MemoType == AdjustmentMemoType.CreditMemo && action.IsValid)
            {
                // Create Acumatica Refund payload
                //
                var refund =
                    _syncOrderRepository.RetrieveShopifyRefundWithNoTracking(action.ShopifyRefundId);

                var memoWrite = BuildCreditMemo(refund);

                //_invoiceClient.RetrieveInvoiceAndTaxes("000015", "CRM");

                // Push to Acumatica and write Sync Record
                //
                _logService.Log(LogBuilder.CreateAcumaticaMemo(refund));
                PushMemoAndWriteSync(refund, memoWrite);
            }
        }
コード例 #17
0
ファイル: Program.cs プロジェクト: vla/Es.Serilog.Lite
        private static void Main(string[] args)
        {
            Log.Logger = LogBuilder.Create();

            for (int i = 0; i < 1; i++)
            {
                Log.Debug("Warning!!!");
            }

            Log.ForContext <Program>().Information("okoko");

            Log.Warning("LogWarning");
            Log.Error("LogError");
            Log.Fatal("LogCritical");

            int a = 10, b = 0;

            try
            {
                Log.Debug("Dividing {A} by {B}", a, b);
                Console.WriteLine(a / b);
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Something went wrong");
            }
            Console.Read();
        }
コード例 #18
0
        public Customer FindAcumaticaCustomer(ShopifyCustomer shopifyCustomer)
        {
            var customersByIdJson = _customerClient.SearchCustomerByCustomerId(shopifyCustomer.ShopifyCustomerId.ToString());
            var customersById     = customersByIdJson.DeserializeFromJson <List <Customer> >();

            if (customersById.Count == 1)
            {
                return(customersById.First());
            }

            var customersByEmailJson = _customerClient.SearchCustomerByEmail(shopifyCustomer.ShopifyPrimaryEmail);
            var customers            = customersByEmailJson.DeserializeFromJson <List <Customer> >();

            if (customers.Count == 0)
            {
                return(null);
            }
            if (customers.Count == 1)
            {
                _logService.Log(LogBuilder.FoundAcumaticaCustomerByEmail(shopifyCustomer.ShopifyPrimaryEmail));
            }
            else
            {
                _logService.Log(LogBuilder.MultipleCustomersWithSameEmail(shopifyCustomer.ShopifyPrimaryEmail));
            }

            return(customers.First());
        }
コード例 #19
0
ファイル: UnitTest1.cs プロジェクト: ccrngd1/LoggingLibrary
        public void CreateLogMsgWithExceptionWithNoStackTrace()
        {
            Log log = LogBuilder.Log(SeverityLevel.Debug, "No payload");

            log.AddMessage("no msg", new Exception());

            Assert.IsTrue(log.LogMessages.Any());

            Assert.IsTrue(log.LogMessages[0].LogMessageText != null);
            Assert.IsTrue(log.LogMessages[0].LogMessageText.MessageText != null);
            Assert.IsTrue(log.LogMessages[0].LogMessageText.LogMessageHash != null);

            Assert.IsTrue(log.LogMessages[1].LogStackTrace != null);
            Assert.IsTrue(log.LogMessages[1].LogStackTrace.StackTraceText != null);
            Assert.IsTrue(log.LogMessages[1].LogStackTrace.StackHash != null);

            log = LogBuilder.Log(SeverityLevel.Debug, "no payload");

            log.AddMessage(null, new Exception());

            Assert.IsTrue(log.LogMessages[0].LogMessageText != null);

            log = LogBuilder.Log(SeverityLevel.Debug, "no payload");

            log.AddMessage(null, new Exception("outter", new Exception("inner")));

            Assert.IsTrue(log.LogMessages[0].LogMessageText != null);
            Assert.IsTrue(log.LogMessages[0].LogMessageText.MessageText == "outter");

            Assert.IsTrue(log.LogMessages[1].LogMessageText != null);
            Assert.IsTrue(log.LogMessages[1].LogMessageText.MessageText == "inner");
        }
コード例 #20
0
ファイル: UnitTest1.cs プロジェクト: ccrngd1/LoggingLibrary
        public void DuplicationUnitTest()
        {
            DALCache        cacheInst    = DALCache.Instance;
            LoggingSettings settingsInst = LoggingSettings.Instance;

            settingsInst.DuplicateCachePurgeSeconds = 1;

            Log log = LogBuilder.Log(SeverityLevel.Debug, "No payload", "CreateLogMsgWithExceptionWithNoStackTrace");

            log.AddMessage("no msg", new Exception());

            //first check - should not be duplicate
            var logCount = cacheInst.DetermineDuplicateState(log);

            Assert.IsFalse(log.IsDuplicate);
            Assert.IsTrue(logCount == 1);

            //second check - immediate - should be duplicate
            logCount = cacheInst.DetermineDuplicateState(log);
            Assert.IsTrue(log.IsDuplicate);
            Assert.IsTrue(logCount > 1);

            //wait for the over the purge limit, then try again
            Task.Delay(2000).Wait();
            logCount = cacheInst.DetermineDuplicateState(log);
            Assert.IsFalse(log.IsDuplicate);
            Assert.IsTrue(logCount == 1);

            //hit again immediately - should be marked as a duplicate
            logCount = cacheInst.DetermineDuplicateState(log);
            Assert.IsTrue(log.IsDuplicate);
            Assert.IsTrue(logCount > 1);
        }
コード例 #21
0
ファイル: UnitTest1.cs プロジェクト: ccrngd1/LoggingLibrary
        public void CreateLogSimpleSignature()
        {
            Log log = LogBuilder.Log(SeverityLevel.Debug, "");

            Assert.IsNotNull(log);
            Assert.IsTrue(log.Verify());
        }
コード例 #22
0
ファイル: UnitTest1.cs プロジェクト: ccrngd1/LoggingLibrary
        public void CreateLogFullSignatureWWithException()
        {
            Log log = LogBuilder.Log(SeverityLevel.Debug, "", new Exception(), "", new Dictionary <string, string>(), new Dictionary <string, string>());

            Assert.IsNotNull(log);
            Assert.IsTrue(log.Verify());
        }
コード例 #23
0
ファイル: NLog.cs プロジェクト: enenChen/mvc_dashboard
        private static LogBuilder AddProperties(LogBuilder builder, Dictionary <string, object> properties)
        {
            if (properties == null || properties.Count == 0)
            {
                return(builder);
            }

            properties.ToList().ForEach(m =>
            {
                if (m.Value == null)
                {
                    return;
                }

                var type = m.Value.GetType();
                if (type.IsPrimitive || type == typeof(String))
                {
                    return;
                }

                if (type == typeof(DateTime) || type.GetType() == typeof(DateTime?))
                {
                    properties[m.Key] = ((DateTime)m.Value).ToString("yyyy-MM-dd HH:mm:ss.ffff");
                }
                else
                {
                    properties[m.Key] = JsonConvert.SerializeObject(m.Value);
                }
            });

            return(builder.Properties(properties));
        }
コード例 #24
0
        static void Main(string[] args)
        {
            Logger logger = new LogBuilder()
                            .AddConsole()
                            .AddFile("./log.txt")
                            .AddEmail("*****@*****.**", "*****@*****.**")
                            .CreateLogger();

            logger.LogToTarget(LogLevel.Information, "尝试登录...");

            // 验证验证码逻辑
            logger.LogInformation("验证码正确");

            logger.LogInformation("尝试连接数据库...");
            // 连接数据库逻辑
            logger.LogInformation("连接数据库成功...");

            logger.LogInformation("匹配用户名和密码中...");
            // 匹配用户名和密码逻辑
            logger.LogInformation("用户名和密码匹配正确");

            logger.LogInformation("检测用户权限中...");
            // 验证用户权限
            logger.LogInformation("用户登录成功");
        }
コード例 #25
0
        public void UpdateLog(object obj)
        {
            FtpLogEntry entry = obj as FtpLogEntry;

            if (entry == null)
            {
                return;
            }
            _entryBuilder.Append(entry.Date.ToLongTimeString()).Append("\t")
            .Append(entry.CIP ?? "-").Append("\t")
            .Append(entry.CSUsername ?? "-").Append("\t")
            .Append(entry.CSMethod ?? "-").Append(" ")
            .Append(entry.CSArgs ?? "-").Append("\t")
            .Append(entry.CSBytes ?? "-").Append("\t")
            .Append(entry.SCStatus ?? "-").Append("\t")
            .Append(entry.SCBytes ?? "-").Append("\t")
            .Append(entry.Info ?? "");
            if (Active)
            {
                Core.LogTextBox.Invoke(new MethodInvoker(() =>
                {
                    Core.LogTextBox.AppendText(_entryBuilder.ToString());
                    Core.LogTextBox.AppendText(Environment.NewLine);
                }));
            }
            else
            {
                LogBuilder.Append(_entryBuilder.ToString()).AppendLine();
            }
            _entryBuilder.Clear();
        }
コード例 #26
0
    public SendMessageBehavior(LogBuilder logBuilder)
    {
        var templateParser = new MessageTemplateParser();

        logger          = logBuilder.GetLogger("NServiceBus.Serilog.MessageSent");
        messageTemplate = templateParser.Parse("Sent message {MessageType} {MessageId}.");
    }
コード例 #27
0
 public void WakeUp()
 {
     try
     {
         Core.LastTabData = this;
         Core.LogTextBox.Invoke(new MethodInvoker(() =>
         {
             Core.LogTextBox.Text = LogRecorder;
             Core.LogTextBox.AppendText(LogBuilder.ToString());
         }));
         Core.TabContainer.Invoke(new MethodInvoker(() =>
         {
             Tab.Controls.Clear();
             Tab.Controls.Add(Core.MainSpiltContainer);
         }));
         LogBuilder.Clear();
         LogRecorder = null;
         UpdateConnectionList();
     }
     catch (Exception)
     {
         return;
         //throw;
     }
 }
コード例 #28
0
        /// <summary>
        /// 添加缓存
        /// </summary>
        /// <param name="key">缓存Key</param>
        /// <param name="value">缓存Value</param>
        /// <param name="expiresIn">缓存时长</param>
        /// <param name="isSliding">是否滑动过期(如果在过期时间内有操作,则以当前时间点延长过期时间)</param>
        /// <returns></returns>
        public static bool Set(string key, object value, TimeSpan expiresIn, bool isSliding = false)
        {
            try
            {
                if (key == null)
                {
                    throw new ArgumentNullException(nameof(key));
                }
                if (value == null)
                {
                    throw new ArgumentNullException(nameof(value));
                }

                Cache.Set(key, value,
                          isSliding
                        ? new MemoryCacheEntryOptions().SetSlidingExpiration(expiresIn)
                        : new MemoryCacheEntryOptions().SetAbsoluteExpiration(expiresIn));

                return(Exists(key));
            }
            catch (Exception ex)
            {
                LogBuilder.CreateInstance().Error("MemoryCache Set Error:" + ex.Message);
                throw;
            }
        }
コード例 #29
0
 public void describe(LogBuilder builder)
 {
     base.describe(builder);
     builder.addLogPair("dataSource", dataSource);
     builder.addLogPair("userID", userID);
     builder.addLogPair("password", password != null ? "<specified>" : "<null>");
     if (dataStoreUserID != null && dataStoreUserID.Length > 0)
     {
         builder.addLogPair("dataStoreUserID", dataStoreUserID);
     }
     if (dataStorePassword != null && dataStorePassword.Length > 0)
     {
         builder.addLogPair("dataStorePassword", "<specified>");
     }
     builder.addLogPair("clientID", clientID);
     if (timezone != null)
     {
         builder.addLogPair("timezone", timezone);
     }
     if (timezoneOffset != null)
     {
         builder.addLogPair("timezoneOffset", timezoneOffset);
     }
     builder.addLogPair("flags", flags);
 }
コード例 #30
0
        /// <summary>
        /// Get 请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="headerList"></param>
        /// <param name="timeout"></param>
        /// <returns></returns>
        public static async Task <Tuple <bool, string> > HttpClientGet(string url, List <KeyValuePair <string, string> > headerList = null, int timeout = 30000)
        {
            var retrnVlaue = string.Empty;
            //var flag = false;
            var httpclientHandler = new HttpClientHandler();

            httpclientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, error) => true;
            using (var httpClient = new HttpClient(httpclientHandler))
            {
                if (headerList != null)
                {
                    foreach (var item in headerList)
                    {
                        if (item.Key.ToLower().Equals("content-type"))
                        {
                            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(item.Value));
                        }
                        else
                        {
                            httpClient.DefaultRequestHeaders.Add(item.Key, item.Value);
                        }
                    }
                }
                //var httpResponseMessage = await httpClient.GetAsync(url);
                retrnVlaue = await httpClient.GetStringAsync(url);

                //flag = httpResponseMessage.StatusCode == (HttpStatusCode)StatusCodes.Status200OK;
                //if (flag)
                //{
                //    retrnVlaue = httpResponseMessage.Content.ToString();
                LogBuilder.CreateInstance().Info($"请求URL:{url},HttpClientGet 返回结果:{retrnVlaue},请求时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}");
                //}
            }
            return(Tuple.Create <bool, string>(true, retrnVlaue));
        }
コード例 #31
0
        /// <summary>
        /// Scenario 3 Message builder
        /// </summary>
        /// <param name="sock">
        /// socket to query for socket info
        /// </param>
        /// <param name="msTime">
        /// time parameter to state time in message
        /// </param>
        /// <param name="ip">
        /// ip addres connected to
        /// </param>
        /// <param name="portNum">
        /// port number being used
        /// </param>
        /// <param name="serverPort">
        /// port number being used</param>
        /// <param name="serverIP">
        /// server ip address
        /// </param>
        /// <param name="i">
        /// count value
        /// </param>
        /// <returns>
        /// a byte array containing formatted message
        /// </returns>
        public byte[] MessageBuildScenarioThree(Socket sock, string msTime, string ip, string portNum, 
            string serverPort, string serverIP, int i, int responseTime, LogBuilder lb)
        {
            // Hard code and build string.
            //byte[] msg = System.Text.Encoding.ASCII.GetBytes("REQ|" + msTime
            //    + "|RequestNo:" + i + "|WurdingerO|19-3410|" + ip.ToString()
            //    + "|" + portNum + "|" + sock.Handle.ToString() + "|" + serverIP + "|"
            //    + serverPort + "|StudentData:" + i + "|3|");

            byte[] msg = System.Text.Encoding.ASCII.GetBytes("REQ|" + msTime
                + "|RequestNo:" + i + "|WurdingerO|19-3410|" + responseTime + "|" + ip
                + "|" + portNum + "|" + sock.Handle.ToString() + "|" + serverIP + "|"
                + serverPort + "|StudentData:" + i + "|3|");

            int msgLength = msg.Length;

            byte[] lengthByte = System.Text.Encoding.ASCII.GetBytes((msgLength
                + msgLength.ToString().Length).ToString());

            byte[] sendMsg = new byte[msgLength + lengthByte.Length];

            Array.Copy(lengthByte, 0, sendMsg, 0, lengthByte.Length);
            Array.Copy(msg, 0, sendMsg, lengthByte.Length, msg.Length);

            return sendMsg;
        }
コード例 #32
0
        /// <summary>
        /// Scenario 2 Message builder
        /// </summary>
        /// <param name="sock">
        /// socket to query for socket info
        /// </param>
        /// <param name="msTime">
        /// time parameter to state time in message
        /// </param>
        /// <param name="ip">
        /// ip addres connected to
        /// </param>
        /// <param name="portNum">
        /// port number being used
        /// </param>
        /// <param name="serverPort">
        /// port number being used</param>
        /// <param name="serverIP">
        /// server ip address
        /// </param>
        /// <param name="i">
        /// count value
        /// </param>
        /// <returns>
        /// a byte array containing formatted message
        /// </returns>
        public byte[] MessageBuildScenarioTwo(Socket sock, string msTime, string ip, string portNum,
            string serverPort, string serverIP, int i, int responseTime, LogBuilder lb)
        {
            // Hard code and build string.
            string stringMsg = "REQ|" + msTime
                + "|RequestNo:" + i + "|WurdingerO|19-3410|" + responseTime + "|" + ip
                + "|" + portNum + "|" + sock.Handle.ToString() + "|" + serverIP + "|"
                + serverPort + "|StudentData:" + i + "|2|";

            lb.sentMsgs.Add(stringMsg);

            byte[] msg = System.Text.Encoding.ASCII.GetBytes(stringMsg);

            // Length of msg
            short msgLength = (short)msg.Length;

            // convert message length to byte array
            byte[] byteLength = BitConverter.GetBytes(msgLength);

            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(byteLength); //.Reverse();
            }

            byte[] sendMsg = new byte[byteLength.Length + msgLength];

            // Copy arrays to get one single sendMsg array
            Array.Copy(byteLength, sendMsg, byteLength.Length);
            Array.Copy(msg, 0, sendMsg, byteLength.Length, msgLength);

            return sendMsg;
        }