نمایش نتایج 1 تا 12 از 12

نام تاپیک: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    Exclamation فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    سلام
    در سایتمون درگاه بانک ملی رو پیاده سازی کردیم. اما بعد از بازگشت از درگاه اون اکشنی که در لینک بازگشت برای بانک ارسال شده دوبار فراخوانی میشه . البته وقتی میخوایم به بانک بفرستیم از Return Redirect(url) و بعد از بازگشت از بانک هم برای ارسال به اکشن دلخواه از Return Redirect(url) استفاده میکنیم . یعنی با return کار در اون کنترلر به طور حتم تموم شده اما باز هم این اتفاق تکرار میشه.

    دوستان میتونید راهنمایی کنید؟
    با تشکر

  2. #2

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    سعی کنید برای ارسال به اکشن های مختلف از Return RedirectToAction استفاده کنید ، اینطور مشکل هارو نمیشه بدون تست نظر داد ;
    بهترین کار این هستش که داخل کد هاتون Breakpoint قرار بدید و دیباگ کنید که به چه اکشن هایی Redirect میشید .

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    سعی کنید برای ارسال به اکشن های مختلف از Return RedirectToAction استفاده کنید ، اینطور مشکل هارو نمیشه بدون تست نظر داد ;
    بهترین کار این هستش که داخل کد هاتون Breakpoint قرار بدید و دیباگ کنید که به چه اکشن هایی Redirect میشید .

    برای تست و اطمینان از صحت مسئله در اکشن بعد از بانک (VerifyRequest) و اکشنی که از طریق همین اکشن redirect میشه به اون ، لاگ قرار داده شد. و دیدیم که اکشن بعد از بانک (VerifyRequest) در یک مورد 12 بار اجرا شده بود اما در همین تراکنش اکشنی که بهش redirect شده بود فقط 3 بار اجرا شده بود. فکر میکنید در خود درگاه هم ممکنه مشکلی باشه؟

  4. #4

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    معمولا امکان مشکل از سمت درگاه پایین هست ، شما لاگ گرفتید اما دیباگ نکردید ، اگر شما در نقطه ای از برنامه Breakpoint قرار بدید و با F10 Step Into کنید داخل کدهاتون ، حتما پیدا میکنید که کجاها Redirect میشید .

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    من همین دستوری که شما گفتین رو در پروژه پیاده کردم و نتیجه این شد که در لوکل اکشن بعد از بانک باز هم چند بار اجرا شد اما با اجرای دستور
    Return RedirectToAction
    اکشن مقصد فقط یک بار اجرا شد.
    حالا من یک نکته ای به ذهنم رسیده که وقتی از یک سایتی کاربر به آدرسی redirect میشه اولین نقطه ای که میشه ردیابی کرد کجاست؟ AppStart, global ,Startup و یا ... اگر این رو بدونیم میشه از redirect طرف بانک مطمئن شد.

  6. #6

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    نقطه ی شروع برنامه های ASP.NET MVC از Global.asax.cs هست :
    http://www.c-sharpcorner.com/UploadF...nt-components/
    http://stackoverflow.com/questions/2...-4-application

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    نقطه ی شروع برنامه های ASP.NET MVC از Global.asax.cs هست :
    http://www.c-sharpcorner.com/UploadF...nt-components/
    http://stackoverflow.com/questions/2...-4-application
    نقطه شروع پروژه
    Global.asax.cs هست اما من در اولین سطر Global.asax.cs یک breakpoint گذاشتم و وقتی از بانک برگشت مستقیم به اکشن مورد نظر رفت و وارد کد Global هم نشد.
    متاسفانه این اتفاق برای درگاه پاسارگادمون هم افتاد

  8. #8

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    1- عملیات ریدایرکت از بانک فقط یکبار انجام میشه پس مشکل از سایت است که به هر دلیلی Request رو دوبار پاسخ میدهد.
    2- شما می توانید با شبیه سازی اطلاعات برگشتی از درگاه بانک بدون واریز وجه تست کنید که آیا درخواست به درستی دریافت میشود یا خیر
    3- نقطه ی شروع Global.asax موقع استارت پروژه کار میکنه اما می توانید با رویداد Application_BeginRequest هر درخواست رو بررسی کنید.


  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    1- عملیات ریدایرکت از بانک فقط یکبار انجام میشه پس مشکل از سایت است که به هر دلیلی Request رو دوبار پاسخ میدهد.
    2- شما می توانید با شبیه سازی اطلاعات برگشتی از درگاه بانک بدون واریز وجه تست کنید که آیا درخواست به درستی دریافت میشود یا خیر
    3- نقطه ی شروع Global.asax موقع استارت پروژه کار میکنه اما می توانید با رویداد Application_BeginRequest هر درخواست رو بررسی کنید.

    ببینید فرض کنید ما دوتا اکشن A , B داریم که هر کدوم در کنترلر جداگانه هستند . وقتی از بانک برمیگرده میره به A بعد از redirect میره به B.
    من وقتی دیباگ میکنم گاها اکشن A وقتی تموم میشه دوباره فراخوانی میشه (یعنی بعد از دستور Return RedirectToAction )و گاها هم از اکشن A میره به اکشن B و بعد از دستور Return View برمیگرده به اکشن A .
    الان تو این وضعیت من با Application_BeginRequest چطوری بررسی کنم و جلوی این کار رو بگیرم
    آخرین ویرایش به وسیله hmahdavi921 : چهارشنبه 20 اردیبهشت 1396 در 15:06 عصر

  10. #10

    نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    من متوجه روند کار هستم اما اینکه چطور چینین چیزی ممکنه خیلی عجیبه.

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    Exclamation نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    مدتی بود درگاه ملی رو غیر فعال کرده بودیم.
    به این روش یک اکشن واسط درست کردم اما حل نشد
    public ActionResult VerifyMelli(PurchaseResult result)        {
    return RedirectToAction("VerifyRequestMelli", "CreditPayment", new { OrderId = result.OrderId, Token = result.Token, ResCode = result.ResCode });
    }


    بعد سیستم رو دقیقا مثل sample بانک ملی تغییر دادم. اولیت درخواست رو که بعد از برگشت از بانک گرفتم یک ویو نشون دادم و بعد با یک دکمه فرم رو post کردم به اکشن مورد نظر در کنترلر بانک ملی و اینبار اصلا مشکل قبلی بوجود نیاومد.این طوری مشکل حل میشه اما تو سایت نمیتونیم این کار رو انجام بدیم . چون غیر متداول هست
    آخرین ویرایش به وسیله hmahdavi921 : یک شنبه 31 اردیبهشت 1396 در 12:13 عصر

  12. #12
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    ایران
    پست
    487

    Question نقل قول: فراخوانی دوباره یک اکشن بعد از بازگشت از درگاه بانک

    راه حل جدیدی که پیدا کردم ، بعد برگشت از بانک یک اکشن واسط درست کردن که کارش تولید یک فرم مجازی و پست اون به اکشن اصلیه ! این طوری درخواست های تکراری کمتر شدن اما قطع نشدن.

تاپیک های مشابه

  1. فراخوانی چند باره یک تابع بعد از باز و بسته کردن Dialog
    نوشته شده توسط mostafa_shoakry در بخش Yii Framework
    پاسخ: 1
    آخرین پست: شنبه 16 اسفند 1393, 08:43 صبح
  2. سوال: غیر فعال شدن فراخوانی یک تابع بعد از یک بار فراخوانی
    نوشته شده توسط aroshanzamir در بخش jQuery
    پاسخ: 3
    آخرین پست: چهارشنبه 21 اسفند 1392, 01:42 صبح
  3. فراخوانی یا زدن یک دکمه بعد از چند ثانیه؟
    نوشته شده توسط Zarghami_A در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 21 خرداد 1385, 17:18 عصر
  4. ظاهر شدن یک تصویر بعد از چند دقیقه فشار ندادن هیچ کلیدی ....
    نوشته شده توسط alireza_63 در بخش برنامه نویسی در Delphi
    پاسخ: 16
    آخرین پست: دوشنبه 19 مرداد 1383, 07:45 صبح

قوانین ایجاد تاپیک در تالار

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