سؤال

لدي خدمة ويب مدمجة ل SharePoint 2007، أحاول ميناء SharePoint 2010. تعتمد خدمة الويب هذه على حالة الجلسة للعمل بشكل صحيح، ولكن حتى الآن، لقد تمكن من الحصول على الدولة الجلسة للعمل على الإطلاق في SharePoint 2010 . تعمل خدمة الويب هذه كتطبيق الويب الخاص به بموجب T /_vti_bin دليل الظاهري. لقد جربت كل ما يلي بدون حظ:

  • ضمان تطبيق خدمة "خدمة الدولة" قيد التشغيل.
  • وأضاف System.Web.SessionState.SessionStateModule وحدة HTTP إلى ملف Web.config الخاص بي.
  • وأضاف System.Web.SessionState.SessionStateModule وحدة HTTP إلى ملف SharePoint Root Web.config.
  • وأضاف <pages enableSessionState="true" /> إلى ملف Web.config الخاص بي.
  • وأضاف <pages enableSessionState="true" /> إلى ملف Web.config الخاص بي.

معلومات البيئة الإضافية:

  • Visual Studio 2008 - SP1
  • .NET 3.5 - SP1
  • SharePoint 2010 - RC
  • Windows Server 2008 R2
  • خدمة Web ASMX (وليس WCF)

كان أي شخص لديه أي حظ الحصول على تطبيق ويب أو خدمة الويب لاستخدام حالة الجلسة في SharePoint 2010 حتى الآن؟

شكرا!

ستيف

هل كانت مفيدة؟

المحلول

لقد أجبت بالفعل على هذا بنفسك في مكان آخر على Interweb. :)

<httpModules> 
  <add name="Session" type="System.Web.SessionState.SessionStateModule" /> 
</httpModules>

ثم، يجب أن تذهب إلى تطبيق الويب الخاص بك وإضافة الوحدة النمطية لحالة الجلسة نفسها إلى خط أنابيب IIS7 المدارة.

  1. افتح IIS 7 Manager، وابحث عن تطبيق الويب الخاص بك.

  2. انقر نقرا مزدوجا فوق "الوحدات النمطية" في قسم IIS.

  3. انقر فوق "إضافة الوحدة النمطية المدارة ..." في الجزء الأيمن.

  4. في مربع الحوار إضافة وحدة التحكم المدارة، أدخل "SessionState" أو شيء من هذا القبيل من أجل الاسم، واختر العنصر التالي من القائمة المنسدلة:

    System.Web.SessionState.SessionStateModule، System.Web، الإصدار = 2.0.0.0، الثقافة = محايد، publickeytoken = b03f5f7f11d50a3a

بعد ذلك، يجب تمكين حالة الجلسة للحصول على خدمة الويب / خدمة الويب الخاصة بك!

نصائح أخرى

قد تحتاج إلى تشغيل خدمة ولاية الجلسة. استخدم PowerShell Cmdlet تمكين SpessessStateservice. سيؤدي ذلك إلى إنشاء قاعدة بيانات حالة جلسة وبدء الخدمة في SharePoint 2010.

معلومات مرجعية:http://technet.microsoft.com/en-us/library/ee890113.aspx.

ساعد حل Joshua في الإشارة إلي في الاتجاه الصحيح، لكن اضطررت إلى إجراء بعض الاختلافات لسيناريو الخاص بي - موقع ويب ASP.NET 3.5 منتشر إلى مجلد _layouts.

فيما يلي الخطوات التي عملت بالنسبة لي:

  1. تغيرت <pages> علامة في Web.config لموقع الويب <pages enableSessionState="true" />

  2. وأضاف system.web.sessionstate.sessionstateModule. الوحدة النمطية على مستوى موقع الويب SharePoint (وليس مستوى IIS بأكمله - سوف يكسر الإدارة المركزية، حاولت :() حسب حلا في @ @ @ joshua. إذا كنت تقوم بنشر تطبيق ويب بدلا من موقع ويب، ستحتاج لإضافته على مستوى تطبيق الويب الخاص بك.

لا يبدو أن إضافة HttpModule Sessionstate أدناه إلى Web.config لها تأثير بالنسبة لي، ربما لأنني كنت أركب على Web.config SharePoint كما كان مشروعي موقع ويب وليس تطبيق ويب. ليس واضحا جدا في هذه المسألة.

<httpModules> 
    <add name = "Session" type = "System.Web.SessionState.SessionStateModule" /> 
</httpModules>

هل مثل أدناه:

 <modules runAllManagedModulesForAllrequests>
   <add name="Session" type="System.Web.SessionState.SessionStateModule" />
 </modules>

الوحدات النمطية هي علامة XML. لا أعرف لماذا، هذا المنصب لا يأخذ علامات XML ..

شكرا

كارول

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top