1

私は Heather Solomon の最小限の公開マスター ページを使用しています。これを行う apsx ページとコード ビハインド ファイルを備えた単純な機能があります。

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());
        }
    }

}

このページがブラウザに読み込まれると、次のエラーが表示されます

オブジェクト参照がオブジェクト インスタンスに設定されていません。

それでも、すぐに使用できるマスター ページ (例: Black Vertical) に切り替えると、コードが機能します。「Mr Ben {session ID}」の期待どおりの出力が得られます</p>

新しい空白のマスター ページを作成し、Black Vertical マスター ページの内容全体をそこにコピーしました。サイトをこの新しいマスター ページに設定し、すべてが機能することを期待してページを読み込み、「オブジェクト参照...」エラーを受け取ります。それはどのように機能しますか?これはまったく同じマスター ページですが、OOTB バージョンの場合にのみコードが機能します。

中央管理でセッション状態を有効にしました。web.config ファイルとアセンブリが GAC にデプロイされています。

更新 別のフォーラムでの提案から、それは信頼の問題のようです。ソリューションが GAC にデプロイされると考えていたのは間違いでした。実際には Bin フォルダーにデプロイされていました。これをリセットしようとしましたが、Web アプリケーションの bin フォルダーへのデプロイを停止することはできましたが、WSPBuilder を GAC のソリューションにデプロイできないようです。

ソリューションを GAC フォルダーにデプロイする方法を知っている人はいますか? これは私のstsadmコマンドです

stsadm -o deploysolution -name Test.SessionState.Solution.wsp -immediate -url http://example -allowGacDeployment -allowCasPolicies -force

Udpate 2 いいえ、信頼の問題ではありません。ソリューションを再作成し、GAC に確実にデプロイされるようにしました。sharepoint デザイナーで OOTB マスター ページを開き、保存ボタンをクリックすると、ページが「カスタマイズ」されます。これを行うとすぐにコードが機能しなくなり、マスター ページをサイト定義にリセットすると、コードが再び機能し始めます。

私はソリューションファイルを持っています。誰でもこれをインストールして動作を確認したいのです。

4

2 に答える 2

0

あなたの特定のエラーを解決することはできず、Heather のマスター ページは正常に動作するはずですが、web.config ファイルでセッション状態を有効にすることについて言及していることを懸念しています。正しい場所は、こちらの手順を使用して SharePoint サーバーの全体管理にあります。

これは、複数の WFE 間でセッションを共有する必要があるため、SharePoint が独自のセッション マネージャーを提供するためです。本当にこれを標準の ASP.NET の方法で行いたい場合は、Eric Kraus の指示を使用してください。ただし、これがどの程度サポートされているか、またはどのような副作用が生じるかはわかりません。

これらの代替案のいずれかを試して、どうなるかお知らせください。エラーが消えますように!

于 2009-07-10T13:56:06.197 に答える