System.UnauthorizedAccessException: Access to the path is denied.

9 בנובמבר 2009

תגיות: , , , ,
3 תגובות

 


כתבתי אפליקציית web פשוטה וניסתי לייצר קובץ מתוך הקוד בשרת – הקובץ כבר היה קיים בתיקייה ורציתי לדרוס אותו – כתבתי קוד כזה (לא בדיוק כזה אבל אותו רעיון)



 


File.CreateText(Request.MapPath("a.txt"));


 

כשהרצתי את הקוד בשרת קבלתי שגיאת חוסר הרשאות – חיפוש מהיר בגוגל גיליתי שאני צריך לתת הרשאות של modify ל – user שמריץ את האפליקצייה (network services)

ניסיתי – לא עבד.

נתתי לו FullControl – לא עבד.

 

ניסיתי להוסיף את כל ההרשאות שבעולם לכל המשתמשים שקיימים על המחשב של השרת – ואני כל הזמן מקבל שגיאה של הרשאות.

 

 

בסוף גיליתי את הבעייה.

 

מסתבר שהדרך הפשוטה ביותר להעלות אפליקציית asp.net לשרת היא להעתיק את כל התיקייה לשרת ולייצר virtual directory אליה.

היות שאני עובד עם TeamSystem כל הקבצים מסומנים כ – ReadOnly – ולכן אי אפשר לדרוס מקוד את הקובץ – ותמיד נקבל שגיאה של חוסר הרשאות.

 

הפיתרון היה קל ופשוט – להוריד את ה – ReadOnly (וכמובן להעיף את כל ההרשאות המיותרות שנתתי לכל העולם)

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

3 תגובות

  1. יוסי גולדברג16 בנובמבר 2009 ב 14:42

    יפה. סתם שאלה: יש אפשרות להוריד את ה readOnly דרך קוד?

    הגב
  2. Shlomo16 בנובמבר 2009 ב 18:57

    כן, בעזרת אובייקט Fileinfo ומאפיין שלו שנקרא Attributes

    הגב
  3. יוסי גולדברג17 בנובמבר 2009 ב 9:35

    יפה עובד.

    הגב