مشکل با دریافت اطلاعات با HttpClient
با سلام وقت بخیر
من برای دریافت اطلاعات از دیتابیس با httpclient از کد زیر استفاده میکنم
using (var client = new HttpClient()) {
using (var response = await client.GetAsync(url))
{
if (response.IsSuccessStatusCode)
{
var JsonString = await response.Content.ReadAsStringAsync();
if (JsonString == "101")
{
MessageBox.Show("نام کاربری صحیح نمی باشد", "خطا");
CheckUser = false;
}
else
if (JsonString != "[]")
{
dynamic stuff = JsonConvert.DeserializeObject(JsonString);
if (stuff == null)
{
MessageBox.Show("null ", "خطا");
}
else
{
List<ListOfTOR> ListOfTOR = new List<ListOfTOR>();
datagridview1.DataSource = JsonConvert.DeserializeObject<ListOfTOR[]>(JsonString).ToList();
CheckUser = true;
}
}
else
{
datagridview1.DataSource = null;
}
}
}
}
در iis تست کردم همه چیز خوبه ولی از وقتی دیتابیس بردم روی هاست اطلاعاتی که در بانک ثبت میشه با کد بالا قایل دریافت نیستند مگر اینکه در یک بروزر دستی url بزنم اطلاعات دریافت کنم و بعد با کد بالا در نرم افزار اطلاعات را نمایش بده.امیدوارم درست توضیح داده باشم اگه از دوستان کسی دلیلش میدونه لطفا راهنمایی کنید
آدرس در متغییر url هست شبیه این کد:
http://183.183.55.55/api/apiweb/getl...ate=1398/07/19
این هم کد web api هست
[HttpGet("getList")]
public IActionResult getList(int Id, string MDate, string Username,string Pass)
{
var ent = db.Tbl_Authorities.FirstOrDefault(e => e.Username == Username && e.Pass == Pass);
if (ent != null)
{
var query = db.Tbl_Tickets.Where(x => x.CompanyCode == ent.CompanyCode && x.BranchCode == ent.Branch && x.IdProgram != 3 && x.IdServices == VId && x.MDate == VMDate).ToList();
return new ObjectResult(query);
}
else
{
return this.Content("101", "application/json");
}
}
نقل قول: مشکل با دریافت اطلاعات با HttpClient
نقل قول: مشکل با دریافت اطلاعات با HttpClient
متاسفانه این ip که ایجا نوشتم صوری هست ولی با ip واقعی در مرورگر کاملا درست عمل می کنه فقط با کد در نرم افزار نمیشه یا باید اول در مرورگر یک با دستی با url اطلاعات دریافت کنم یا اینکه با 30 دقیقه تاخیر میتونم اطلاعات رو با کد دریافت کنم باز هم یاداور میشم این مشکل با اتصال به هاست پیش میاد نه لوکال
نقل قول: مشکل با دریافت اطلاعات با HttpClient
مشکل برطرف شد
استفاده از using (var client = new HttpClient()) در جاهای مختلف برنامه باعث تاخیر 240 ثانیه می شد.
راهنمایی کامل از آقای کامران سادین در لینک زیر.تشکر
https://sadin.ir/Articles/Article/bi...ing-httpclient