avatar
مهر

کاربر

  • 1400/03/09
  • 0
  • 371
1400/03/09 |
backend

ارتباط با دیتا بیس

درود و عرض ادب

اگر بخواهیم در صورت قطع بودن ارتباط با دیتابیس کاربر به صفحه مشخصی هدایت بشه کجا باید این کار را انجام دهیم


سلام باید در صورتی که برنامه Exception های Sql را صادر نمود به صفحه مورد نظر هدایت کنید

try
{
    // code goes here...    
}
catch (SqlException sqlEx)
{
    //  در این قسمت باید هدایت به صفحه مورد نظر را انجام دهید...
}
catch (Exception ex)
{
    // other exception...
}

try را بهتره سراسری برای کل پروژه در یم میان افزار ایجاد کنید


  • 1400/03/10

سلام

تشکر از پاسختون ولی منظور من هم سراسری برای کل پروژه هست ولی میان افزار را نمیدونم چی باید بنویسم

اگه ممکنه یه نمونه کد ارسال کنید


    public class CustomExceptionMiddleware
    {
        private readonly RequestDelegate _next;
        private readonly ILogger<CustomExceptionMiddleware> _logger;
        public CustomExceptionMiddleware(RequestDelegate next, ILogger<CustomExceptionMiddleware> logger)
        {
            _next = next;
              _logger=logger ;
        }

        public async Task Invoke(HttpContext httpContext)
        {
            try
            {
                await _next(httpContext);
            }
catch (SqlException sqlEx)
{
    //  در این قسمت باید هدایت به صفحه مورد نظر را انجام دهید...
}
            catch (Exception ex)
            {
               // handle exception
            }

        }
}

 

این میان افزار را به پروژتون اضافه کنید و سپس در استارت اپ اضافه کنید بعد از این در هرجای برنامه خطا رخ بده در این میان افزار exception را میگیرید و میتونید مدیریت کنید.


  • 1400/03/10

آقا دمت گرم عالی بود

خیلی مردی


  • 1400/03/10

درود مهندس جان

همه چی اوکی شد فقط دستور مربوط به قسمت هدایت به صفحه خطا را نمیدونم چی بنویسم


  • 1400/03/10

 new RedirectToActionResult("NoConnection","Dashboard", new { area = "Studenta" })

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


در اینجا دیگه به این صورت نیمتوانید ریدایرکت انجام دهید.

چون Respons از mvc خارج شده و در حال ارسال برای کاربر می باشد

و شما باید Response را ویرایش کنید و هر چیزی که میخواین برای کاربر ارسال کنید.

و یا از این میان افزارها استفاده کنید

 app.UseDeveloperExceptionPage();

app.UseExceptionHandler("/Home/Error");

مقاله https://bugeto.net/blog/webprograming-aspdotnetcore/handling-404-not-found-in-asp.net-core

  را هم مطالعه کنید شاید بتونه بهتون کمک کنه



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری