コード例 #1
0
        private bool SentToHttp(HttpSendContent message, HttpNotifySetting setting)
        {
            var httpClient = new HttpClient();


            Task <HttpResponseMessage> responseTask = null;

            switch (setting.Method)
            {
            case HttpNotifyMessageMethod.GET:
                var queryString = message.MakeQueryString();
                responseTask = httpClient.GetAsync(message.Url + "?" + queryString);
                break;

            case HttpNotifyMessageMethod.POST:
                responseTask = httpClient.PostAsync(message.Url, message.MakeContent(setting.SendContentType));
                break;

            case HttpNotifyMessageMethod.PUT:
                responseTask = httpClient.PutAsync(message.Url, message.MakeContent(setting.SendContentType));
                break;
            }

            if (responseTask != null)
            {
                message.ResponseCode    = (int)responseTask.Result.StatusCode;
                message.ResponseContent = responseTask.Result.Content.ReadAsStringAsync().Result;
            }

            return(responseTask != null && responseTask.Result.IsSuccessStatusCode);
        }
コード例 #2
0
 public bool Send(HttpSendContent message, HttpNotifySetting setting)
 {
     if (message == null)
     {
         throw new ArgumentNullException(nameof(message));
     }
     if (setting == null)
     {
         throw new ArgumentNullException(nameof(setting));
     }
     try
     {
         return(SentToHttp(message, setting));
     }
     catch (Exception ex)
     {
         message.ResponseContent  = ex.Message;
         message.ResponseContent += "\r\n" + ex.StackTrace;
         return(false);
     }
 }