MobileAppTracking.MATUrlRequester.SendRequest C# (CSharp) Метод

SendRequest() приватный Метод

private SendRequest ( string urlInfo, string postData, int urlAttempt ) : void
urlInfo string
postData string
urlAttempt int
Результат void
        internal void SendRequest(string urlInfo, string postData, int urlAttempt)
        {
            this.currentUrl = urlInfo;
            this.currentPostData = postData;
            this.currentUrlAttempt = urlAttempt;
            string url = urlInfo + "&sdk_retry_attempt=" + urlAttempt;

            var request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.AllowReadStreamBuffering = false;
            request.BeginGetRequestStream(GetRequestStreamCallback, request);
        }

Usage Example

Пример #1
0
        // Send all queued requests
        internal void DumpQueue() 
        {
            // Check for internet connectivity and return immediately if none found
            if (!DeviceNetworkInformation.IsNetworkAvailable)
                return;

            // Get existing event queue
            if (IsolatedStorageSettings.ApplicationSettings.Contains(MATConstants.SETTINGS_MATEVENTQUEUE_KEY) &&
                IsolatedStorageSettings.ApplicationSettings[MATConstants.SETTINGS_MATEVENTQUEUE_KEY].GetType() == typeof(List<MATUrlBuilder.URLInfo>)) //This only needs to be entered if a request was previously added to the queue
            {
                List<MATUrlBuilder.URLInfo> eventQueue = (List<MATUrlBuilder.URLInfo>)IsolatedStorageSettings.ApplicationSettings[MATConstants.SETTINGS_MATEVENTQUEUE_KEY];
                List<MATUrlBuilder.URLInfo> sentEvents = new List<MATUrlBuilder.URLInfo>();

                if (eventQueue.Count == 0)
                    return;

                foreach (MATUrlBuilder.URLInfo url in eventQueue)
                {
                    if (parameters.DebugMode)
                        Debug.WriteLine("Sending MAT event to server...");
                    MATUrlRequester urlRequester = new MATUrlRequester(parameters, this); //Individual fields are required for each async request
                    urlRequester.SendRequest(url);
                    // Build list of urls to remove
                    sentEvents.Add(url);
                    if (parameters.DebugMode)
                        Debug.WriteLine("MAT request sent");
                }
                // Remove all the urls we sent so collection is not modified in loop
                foreach (MATUrlBuilder.URLInfo url in sentEvents)
                {
                    eventQueue.Remove(url);
                }
                SaveLocalSetting(MATConstants.SETTINGS_MATEVENTQUEUE_KEY, eventQueue);
            }
        }
All Usage Examples Of MobileAppTracking.MATUrlRequester::SendRequest