ممکن است در ASP.Net برنامه ی آپلود فایل و یا هر نوع کد مربوط به دسترسی به فایل ها نوشته باشید. کد هایتان در کامپیوتر لوکال و مختص توسعه تان به خوبی کار می کند اما مشکل جایی نمود پیدا می کند که برنامه را بر روی سرور برای استفاده ی همگان قرار می دهید. در این صورت ممکن است با مشکلات متعدّدی مواجه شوید. رایج ترین آن ها را می خواهیم امروز در این نوشته مورد بررسی قرار داده و سپس آن را حل کنیم. پس امروز برای حل مشکل System.UnauthorizedAccessException: Access to the path is denied تا پایان این نوشته همراه من باشید.
همانطور که از پیام خطا یا Exception هم پیدا است. مشکل به عدم دسترسی به مسیر یا فایل مورد نظر برنامه نویس مربوط می شود و پیام دریافتی نیز به همین موضوع اشاره می کند. پس بایستی Permission ها و مجوز های دسترسی لازم را به کاربر بدهیم تا بتواند به فایل ها و دایرکتوری ها دسترسی داشته باشد. برای این کار در کنترل پنل پلسک به بخش مدیریت فایل رفته و از منوی پایین بازشوی دایرکتوری حاوی فایل های برنامه تان، گزینه ی Change Permissions را کلیک کنید.
حال از صفحه ی باز شده بر روی دکمه Advanced کلیک کنید.
صفحه ی دیگری باز می شود که لیست کاربران سیستم را نمایش می دهد. از این جا بر روی کاربر Application Pool Group کلیک کنید.
چک باکسِ Write را در کمی پایین تر تیک زده و تنظیمات را با فشردن کلیک OK یا Apply اعمال و ذخیره کنید. (تصویر زیر)
حل مشکل System.UnauthorizedAccessException: Access to the path is denied به همین سادگی و آسانی به پایان رسید. در صورتی که سرور مجازی یا اختصاصی ویندوزی دارید نیز پروسه مشابه است. در سرور های لینوکسی نیز می توانید از دستورات chown و chmod کمک بگیرید. اگرچه برای برنامه های نوشته شده بر اساس ASP.NET Core به دلیل پیچیده تر شدن کانفیگ به هبچ وجه توصیه نمی کنم از سرور های لینوکسی استفاده شود. میزبانی های ویندوز با هزینه ی بسیار مناسب و با کیفیت بالا در دسترس هستند.
خیلی ممنون