PDA

View Full Version : مشکل درج رکوردهای تکراری



hamzehsh
دوشنبه 06 اردیبهشت 1400, 16:58 عصر
سلام
در هنگام درج داده های توی دیتابیس جاهایی ازبرنامه میبینم که دو تا رکورد دقیقا یکسان داره درج میشه و این میتونه خیلی مشکل ایجاد کنه
در واقع با هر دستور add دو تا رکورد توی جدول ایجاد میشه همیشه هم اینطوری نیست
بارها و بارها روی debuging امتحان کردم درسته ولی روی سرور که پابلیش میکنم اینطوری کار میکنه حتی دو دستورات ساده هم همین مشکل وجود داره

var data = new ReportsData
{
data = "test",
name = " name 1",
ReportName = " report 1 ",
};

await _context.AddAsync(data);
await _context.SaveChangesAsync();

hamzehsh
سه شنبه 07 اردیبهشت 1400, 12:36 عصر
قدیمها این انجمن ها رونق داشت
دیگه کسی به کسی کمک نمیکنه؟

ali_md110
چهارشنبه 08 اردیبهشت 1400, 12:43 عصر
ممکن این مشکل از سمت کدهای کلاینت شما باشه تا سمت سرور
مثلا دوبار کلیک شدن دکمه و یا اشکالات کدهای جاوااسکریت و jquery هم میتونه باشه
مرورگرتون رو هم تغییر بدید کش مرورگر ممکنه این مشکلات چند بار درخواست کردن رو بوجود بیاره
یک لاگر سمت کلاینت نصب کنید مثل Elmah
یا لاگر سروری هم استفاده کنید ببینید کجای کار مشکل داره

hamzehsh
پنج شنبه 09 اردیبهشت 1400, 16:15 عصر
سلام ممنونم از توضیحاتتون
nlog نصب کردم.
هم با ajax امتجان کردم و هم با کدهای استانداردی که در زمان ایجاد کنترلر ایجاد میشه
nlog هیچ خطایی ثبت نمیکنه
مشکل هم همچنان سرجاش وجود داره

ali_md110
پنج شنبه 09 اردیبهشت 1400, 20:08 عصر
روی سطر 8


await _context.AddAsync(data);
برکپوینت میزارید چند بار اجرا میشه؟ اگر بکبار اجرا میشه ولی دو رکورد ثبت میشه ایراد ار کانتکست ممکنه باشه ممکنه با آپدیت فریموورک هاتون برطرف بشه در ضمن متدهای غیر async هم تست کنید

hamzehsh
چهارشنبه 15 اردیبهشت 1400, 00:00 صبح
یکبار اجرا میشه
nlog هم یک رکورد رو log میکنه
core 5 با آخرین بروزسانی ها هم دارم کار میکنم. حتی خود vs 2019 هم همینطور
همه احتمالات رو بررسی کردم. متدها رو غیر async کردم ولی با هم همینطوریه
windows 2019 + sql 2019 با همه update ها باز هم تفاوتی نکرد.

تنها چیزی که کشف کردم اینه که وقتی کسی داره با برنامه کار میکنه و پابلیش میکنم این اتفاق میفته
iis رو ریست میکنم و بعد publish
که روش اصولی و صحیحش احتمالا نیست


public class PortalDbContext :
IdentityDbContext<User, Role, string, UserClaim, UserRole, IdentityUserLogin<string>, RoleClaim, IdentityUserToken<string>>
{

hamzehsh
دوشنبه 20 اردیبهشت 1400, 13:55 عصر
استاد یک موضوع دیگه کشف کردم
درخواستهایی که با ajax ارسال میشه با فایر فاکس مشکل داره
و با کروم اصلا این اتفاق نمی افته