by Murat Duman
25. Mart 2008 15:45
Gelen e-postalardan anladığım kadarıyla en çok yaşanılan sorun dizin erişimleri ile ilgili. Öncelikle BlogEngine ilk çalıştırıldığında ya da herhangi bir işlem yaparken karşınıza aşağıdaki gibi bir hata çıkabilir;
Server Error in '/BlogEngine' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
Böyle bir hata mesajı bize gerçek sorun hakkında bilgi vermemekte. Bu sebeple hemen Web.Config dosyasını açıp <customErrors mode="On"/> yazılı ifadeyi <customErrors mode="Off"/> ifadesi olarak değiştirelim. Böylece hatanın hangi sayfa ve kod satırı ile ilgili olduğunu ayrıntılı olarak görebileceğiz.
Gerekli ayarlamayı yaptıktan sonra karşımıza yetki sorunu ile ilgili aşağıdaki gibi bir hata gelebilir. Bunu çözmek için ise IIS 5.1 kurulu ise (Windows XP) MakineAdı\ASP.NET kullanıcı hesabı için App_Data klasörü ve alt klasörlerine Read+Write (Okuma ve Yazma) izinlerini vermeniz gerekiyor. Eğer bilgisayarınızda Windows Vista yüklü ise IIS 6.0 ve üzeri kurulu olabilir. Böyle bir durumda "Network Service" adındaki hesap için App_Data klasörüne ve alt klasörlerine (Recursive) Read+Write izinlerini vermeniz gerekiyor.
Halen hata almaya devam ediyorsanız. Lütfen bu yazıya yorumlarınızı gönderin ve çözmeye çalışalım. İyi çalışmalar.
Server Error in '/BlogEngine' Application.
Access to the path 'c:\inetpub\wwwroot\BlogEngine\App_Data\users.xml' is denied.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Access to the path 'c:\inetpub\wwwroot\BlogEngine\App_Data\users.xml' is denied.
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.