האם GAC dll יכול לשמש כ Code Behind

האם GAC dll יכול לשמש כ Code Behind

האם ניתן "לתפור" dll מה - Global Assembly Cash באופן שיהיה Code-Behind-Handler ? אם מישהו עשה משהו דומה, או יש לו רעיון שיכול לעזור בכיוון, אשמח לשמוע. הבעיה שלי באופן כללי, היא שאני מעוניין שdll מסוים יהיה ה Code-Behind של מספר קבצי aspx מאתרים שונים. הפתרון שחשבתי עליו הוא לבנות dll שירשם ב GAC (זאת הצלחתי לעשות), אך לא הצלחתי לתפור אותו באופן כזה שיטען עבור דף מסוים. בתודה מראש, שמוליק
 
איך אני מציין

בתוך קובץ ה ASPX שיקח את ה Code-Behind Dll לא מספריית ה Bin הסטנדרטית, אלא לפי ציון שמו וגירסתו כפי שנרשמו ב GAC (צריך להיות איזשהו פרמטר בפקודה <% Register@ %> אשר אמור לאפשר את זה - כך אני מקווה). בתודה מראש, שמוליק
 

gilad g

New member
תמחק את ה-DLL מספריית ה-BIN..

אם הוא לא מוצא אותו שם, הוא יביא אותו מה-GAC. בנוסף, עלייך להוסיף Reference לאסמבלי שלך (ב-web.config):
<configuration> <compilation> <assemblies> <add assembly="MyAssembly, Version=1.0.2411.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </assemblies> </compilation> </configuration>​
מספר הגרסה, וה-Public Key Token רשומים ב-GAC.
 
מה אתה אומר

אתה בטוח ? אם זה עובד אני פותח שפניה.
רץ לבדוק את זה. בכל מקרה, תודה תודה שמוליק
 

nattygur

New member
הדרך להשיג את המטרה היא הרבה

יותר פשוטה ומבוססת על עקרונות OO. צור Assembly נפרד שבו ישנה מחלקה אחת אשר יורשת מ System.web.ui.page. ממש במחלקה הזאת את כל הקוד שאתה רוצה ( Override לפונקציונאליות). שנה את הירושה בכל דף מברירת המחדל למחלקה שאתה יצרתה. את ה Assembly אשר מכיל את מחלקת הבסיס שלך תוכל להפיץ ל GAC.
 
זה בדיוק מה שעשיתי, תקרא את השירשור

מה שאתה מציע זה אולי מבוסס OO אבל גם במקרה הדרך הטריוויאלית שבה מוליך אותך ה Visual studio כאשר אתה יוצר פרויקט חדש. הוא יוצר עבורך מחלקה שיורשת System.web.ui.page ומשנה את קובץ ה aspx בהתאם. הבעיה שלי היתה (כפי שתוכל לראות אם תקרא את השירשור) היא, איך לציין ל .NET שיטען את ה assembly המדובר מה GAC ולא מספריית ה bin של הפרויקט, כפי שהוא מנסה לעשות כברירת מחדל. בכל מקרה, תודה על העזרה, שמוליק
 
למעלה