Попытка позвонить на сайт WebMethod из Winform - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть локальный хост WebMethod (работает с тестовой страницы aspx с использованием JQuery).Когда я вызываю его из приложения winform, он получает {«Код состояния ответа не указывает на успех: 500 (Внутренняя ошибка сервера).»} Код вызова:

public static async Task<int> VerifyUpdateProductImages(string isbn)
        {
            var returnInt = -1;
            var testUri = "http://localhost:52561/KboAjaxBase.asmx/VerifyUpdateProductImages";
            using (var client = new HttpClient())
            {                   
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));
                var ajaxCallParams = new AjaxCallParams(Constants.VerifyUpdateProductImages, "none", null);
                var json = JsonConvert.SerializeObject(ajaxCallParams);
                using (var stringContent = new StringContent(json, Encoding.UTF8, "application/json"))
                {     
                    using (var response = await client
                        .GetAsync(testUri)
                        .ConfigureAwait(false))
                    {
                        response.EnsureSuccessStatusCode();

                        if (response.IsSuccessStatusCode)
                        {
                            var returnValue = await response.Content.ReadAsStringAsync();
                            int.TryParse(returnValue, out returnInt);
                        }
                    }
                }
                return returnInt;
            }
        }
    }

WebMethod:

[WebMethod]
public AjaxCallParams VerifyStoreImagesOnServer(AjaxCallParams ajaxCallParams)
{
    int imagesCreated = -1; 
    AjaxCallParams returnParams = new AjaxCallParams(ajaxCallParams.Request, "",null);
    string isbn = ajaxCallParams.Data.ToString();
    StaticState.SetIsWebApi();
    using (var db = new DataAccess())
    {
        var productId = db.GetProductIdForSku(isbn);
        if (productId != 0)
        {
            imagesCreated = ImageFuncsServer.VerifyStoreImagesOnServer(isbn);

        }

        returnParams.Data = imagesCreated.ToString();
    }

    return returnParams;
}
...