2009-07-10 23 views
1

私はヘザーソロモンの最小限の出版マスターページを使用しています、私は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}"の期待される出力を得ます。

新しい空のマスターページを作成して、ブラック縦型マスターページの内容全体をコピーしました。私はこの新しいマスターページにサイトを設定し、私はすべての作業を期待してページをロードし、 'Object reference ...'エラーを受け取ります。それはどのように機能するのですか?それは全く同じマスターページですが、コードは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ファイルを持っていますので、これをインストールして動作を確認してください。

答えて

0

私はあなたの特定のエラーを助けることはできません。ヘザーのマスターページはうまくいくはずですが、web.configファイルでセッション状態を有効にすることについて言及していることが心配です。正しい場所は、instructions hereを使用してSharePointサーバーの全体管理にあります。

これは、複数のWFEでセッションを共有する必要があるため、SharePointが独自のセッションマネージャを提供するためです。これを標準的なASP.NETの方法で実際に実行したい場合は、Eric Kraus' instructionsを使用します。これがどのようにサポートされているのか、それがどのような副作用を引き起こすのかは不明です

これらの代替方法のいずれかを試して、その方法をお知らせください。うまくいけば、エラーは消える!

+0

申し訳ありませんをリスト記事は、私は中央管理者にセッション状態を有効にすることを言及するのを忘れてしまったのです。ポイント5を見ると、Web設定の変更が記載されています。返信いただきありがとうございます! – Rob

+0

私はちょうど確認したし、セッション情報が共有サービスプロバイダの 'ASPStateTempSessions'テーブルに格納されていることを確認できます。 – Rob

+0

ええと...私は考え続けて、私が他の何かを考え出すかどうかを知らせます。私たちの前にあなたがそれを解決するなら、答えを加えてください! –

関連する問題