عنوان:

‫تنظیمات شیرپوینت برای فعال سازی Session در هنگام کد نویسی


نویسنده: محمد باقر سیف اللهی
تاریخ: ۱۳۹۱/۰۳/۲۹ ۰:۳۰
آدرس: www.dntips.ir

اگر بخواهید در کد وب پارت خود از ویژگی Session استفاده کنید ، ممکن است SharePoint این اجازه را به شما ندهد... راه حل چیست؟

اگر کد خود را بعد از پیاده سازی Session اجرا کنید چنین پیغامی را مشاهده خواهید کرد: 

Server Error in '/' Application.
 
Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the <configuration>\<system.web>\<httpModules> section in the application configuration. 

این پیغام نشان می دهد که تنظیمات Session در فایل web.config فعال نیست .یکی از راه حل های این مشکل چک کردن ویژگی enableSessionState="true" در هدر صفحه و در تگ Page است 

اگر این ویژگی True باشد و همچنان همان پیغام فوق را مشاهده کردید به فایلweb.config وبسایت مورد نظر مراجعه کرده و به روش زیر عمل کنید : 

// 1 - Find This Node
<modules runAllManagedModulesForAllRequests="true">
// 2 - Add These Nodes
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" /> 

اکنون امکان استفاده از Session برای شما فراهم شده است . 

در غیر این صورت باید تغییراتی در Permission Policy های شیرپوینت که در فایل های wss_minimaltrust.config و wss_mediumtrust.config و ... انجام دهید و یک Permission Set به آن اضافه کنید 

این فایل ها در زیر مجموعه 14 و در پوشه CONFIG قرار دارند . 

موفق باشید

نظرات

  • هیمن روحانی در ۱۳۹۲/۱۱/۰۱ ۹:۳۱
    سلام . تمام بخش‌های اصلی شیرپوینت بدون استفاده از session طراحی شدن. آیا بعد از فعال کردن session مشکلی برای بقیه وب پارتها پیش نمیاد؟
    ممکنه با فعال کردن session انجام بعضی کارها برای توسعه دهنده ساده بشه ولی باید در نظر داشته باشید که session سربار زیادی برای سرور داره و مایکروسافت بر اساس یه حساب کتابی غیرفعالش کرده.
    • محمد باقر سیف اللهی در ۱۳۹۲/۱۱/۰۱ ۱۴:۳۵
      سلام . 
      همانطور که بیان شد، در صورت نیاز به استفاده از Session و مشاهده خطا، یکی از راهکار ها، این مورد می‌باشد و هیچ اصراری به استفاده از اون نیست !
      همچنین در این پست فقط دلیل این خطا و راه حل اون بیان شد و کسی کاری به مایکروسافت نداره !