我使用希瑟所羅門的最低發行母版頁,我有與apsx頁面的簡單功能,並執行此的SharePoint母版頁和會話狀態
public class SSInformPage : Page
{
protected Literal Literal1;
protected override void OnLoad(EventArgs e)
{
//base.OnLoad(e);
try
{
HttpContext.Current.Session["Name"] = "Mr Ben";
Literal1.Text = string.Format("{0} {1}", HttpContext.Current.Session["Name"].ToString(), Session.SessionID);
}
catch (Exception ex)
{
Literal1.Text = string.Format(ex.Message.ToString());
}
}
}
當這個頁面加載隱藏文件代碼在瀏覽器中出現以下錯誤
未將對象引用設置爲對象的實例。
但是,如果我切換到開箱即用的母版頁(例如黑色垂直),代碼的工作原理!我得到了「Mr Ben {session ID}」的預期輸出結果
我甚至創建了一個新的空白母版頁,並將Black Vertical母版頁的全部內容複製到其中。我將網站設置爲這個新的母版頁,我加載期望一切正常的頁面並收到「對象引用...」錯誤。這是如何運作的?這是完全相同的母版頁,但代碼只有在它是OOTB版本時纔有效。
我已在中央管理中啓用會話狀態,web.config文件和程序集部署到GAC。
更新 從另一個論壇上的建議似乎是一個信任問題,我是在想解決誤部署到GAC,它實際上是部署到Bin文件夾。我試圖重置這個,但似乎無法讓WSPBuilder部署到GAC的解決方案,儘管我已經設法讓它停止部署到Web應用程序的bin文件夾。
有誰知道如何獲得解決方案以部署到GAC文件夾?這是我的Stsadm命令
stsadm -o deploysolution -name Test.SessionState.Solution.wsp -immediate -url http://example -allowGacDeployment -allowCasPolicies -force
UDPATE 2 不,這不是一個信任問題,我重新創建我的解決方案,並確保其部署到GAC。如果我在Sharepoint設計器中打開OOTB母版頁並單擊保存按鈕,它將'自定義'頁面。只要我這樣做,我的代碼停止工作,如果我然後重置母版頁回到網站定義我的代碼再次開始工作!
我有一個soltion文件是任何人想要安裝此查看行爲。
對不起忘了提,我啓用會話狀態在中央管理。如果你看第5點,那就是它提到修改web配置的地方。感謝您的回覆! – Rob 2009-07-10 15:03:19