У меня есть локальный хост 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;
}