使用VS 2010 建了一個SharePoint WebPart,裏面有一行代碼:
Session["InvitationCode"] = code;
每次執行到這裏都出現了錯誤提示:
只有在配置文件或 Page 指令中將 enableSessionState 設置爲 true 時,才能使用會話狀態。還請確保在應用程序配置的 <configuration> / <system.web> / <httpModules> 節中包括 System.Web.SessionStateMod 或自定義會話狀態模塊。
Google、Baidu了許多文章,都沒有一個準確的辦法能解決這個問題。
下面是我的做法:
1. 打開“管理工具”-“服務”,檢查“ASP.NET狀態服務”是否處於“啓動”狀態,如果不是,啓動它;
2. 打開 SharePoint應用程序的 web.config文件(如我的建立的80端口的網站的web.config文件路徑爲:C:/inetpub/wwwroot/wss/VirtualDirectories/80),找到 <httpModules>節點,在<httpModules>節點裏添加
<add name="Session" type="System.Web.SessionState.SessionStateModule" />。
再找到 <pages>節點,將enableSessionState屬性設置爲 true;
3. 打開 IIS7 管理器,定位到SharePoint應用程序下,雙擊打開“模塊”,在右鍵菜單(或者在右側“操作”窗口)裏點擊“添加託管模塊”,在彈出來的窗口裏,名稱裏輸入“Session”,類型裏選擇“System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”。
這3步做法成功啓用了我的 SharePoint 2010的Session功能。
我的環境:
windows server 2008 R2虛擬機,SharePoint 2010,網站使用了Form驗證。
記錄下來,希望能幫助到遇到同樣問題的朋友們。