我有一个localhost WebMethod(使用JQuery在aspx测试页上运行)。当我从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;
}