ارور Duplicate Id ورب پست برای ادد کردن Product جلسه 43

Amirmhdi Gol
18 فروردين ۱۴۰۱

سلام اقای اشرافی این ارور رو موقع ادد کردن product میده ولی داخل دیتابیس ها ادد میشه ولی این اروره هستش همیشه داخل عکس هم کاملش هست

MongoDB.Driver.MongoWriteException: A write operation resulted in an error. WriteError: { Category : "DuplicateKey", Code : 11000, Message : "E11000 duplicate key error collection: CleanArch.ProductReadModel index: _id_ dup key: { _id: 11 }" }.
935

11 پاسخ
  • محمد اشرافی18 فروردين ۱۴۰۱

    سلام ، همون طور که از error مشخصه توی دیتابیس mongo دوتا id با مقدار 11 هست و نمی تونه ادش کنه ( مطمعا اید که توی mongo هم ادد میشه ؟ )

    یه بار دیتابیس هارو خالی کنید و توی Event Hnadler های لایه Query بریک پوینت بزارید مرحله به مرحله برید جلو شاید یه جا اشتباه شده باشه

  • Amirmhdi Gol18 فروردين ۱۴۰۱

    بله داخل مونگو هم ادد شد الان همرو پاک کردم برک پوینت گزاشتم مشکلش اینه که یبار درست اجرا میشه ولی یبار دیگه ام اجرا میشه که ارور میده دلیل دوبار اجرا شدنشو نمیدونم جاایم نبوده که دوبار پابلیشش کنم 

  • محمد اشرافی18 فروردين ۱۴۰۱

    CancelationToken رو پاس بدین به متد publish و توی Action هم یه CancalationToken دریافت کنید و بدینش به متد Send

  • محمد اشرافی18 فروردين ۱۴۰۱

    ولی حتما  چک کن ببینم چرا 2 بار داره اجرا میشه

  • Amirmhdi Gol18 فروردين ۱۴۰۱

    h

  • Amirmhdi Gol18 فروردين ۱۴۰۱

    m

  • Amirmhdi Gol18 فروردين ۱۴۰۱

    من این دو کار رو انجام دادم ولی باز هم دوبار اجرا شد

     

  • محمد اشرافی18 فروردين ۱۴۰۱

    یه عکس ProjectBootstrapper اتون بزارید ( یه جا خوندم میگه مشکل از اینه که 2 بار یک Assembly رو به MediatR معرفی کردین)


     

  • Amirmhdi Gol18 فروردين ۱۴۰۱

    بله درست فرمودین درست شد مشکل از این قسمت بود .

    فقط میشه یه توضیح بدین که چرا اون دوتارو (داخل عکس) کامنت کردم درست شد ؟ اینجکت کردن edit و getList چه ربطی به دوبار اجرا شدن Create داره؟

    و این که چرا edit و getList رو اینجکت نمیکنیم ولی تو API کار میکنه؟

  • محمد اشرافی18 فروردين ۱۴۰۱

    با هر با اضافه کردن MediatR به سیستم دارین دوباره Handler هارو نمونه سازی میکنید

    -----------------

    شما دارین Assembly پاس میدین به این متد ، فقط لازم Assembly پروژه Application و پروژه Query رو بهش پاس بدین

    این صفحه رو ببینید شاید کمکتون کنه

  • Amirmhdi Gol18 فروردين ۱۴۰۱

    بله حتما خیلی ممنون ار راهنمایی خوبتون❤