چگونه می توان مشکل عدم انجام شدن execute url در custom error را برطرف نمود؟

ممکن است برای شما پیش آمده باشد که در برنامه .net خود با استفاده از responseMode="ExecuteURL" قصد اجرای یک Custom Error داشته باشید. مثلا از قطعه کدی مشابه زیر استفاده کرده اید:

 

<httpErrors errorMode="Custom">
    <error statusCode="404" subStatusCode="13" path="/ErrorPages/404-13.asp" responseMode="ExecuteURL" />
</httpErrors>

 

همانطور که در قطعه کد مشاهده می کنید مشکلی در کد وجود ندارد. نکته قابل توجه اینجاست که اگر در برنامه مقدار آیتم ExistingResponse برابر PassThrough تنظیم شده باشد، اطلاعات از سمت برنامه خوانده شده و خطای سفارشی 404 از سمت IIS  به عهده گرفته نمی شود. توجه داشته باشید که فقط در صورتی که ExistingResponse بر روی Auto یا Replace قرار داده شود، Custom Error اجرا خواهد شد.

در این شرایط شما می توانید کد عملگر خطا را در فایل Handler وارد نموده و یا اینکه از  Response.Status = '404 Not Found' در فایل پست کننده استفاده نمایید.