0


0

VS2008のWebアプリケーションでアセンブリ参照エラーが見つかりません

ProfileInfo.aspxというページがあり、codebindは次のようになります-

            using System;
            using System.Web;

            namespace myservice
            {
                public partial class ProfileInfo : System.Web.UI.Page
                {
                    protected void Page_Load(object sender, EventArgs e)
                    {

                        // if no postback but user is authenticated, grab info from database
                        if (!IsPostBack)
                        {
                            if (System.Web.Profile.**IsAnonymous** == false)
                            {

                            }


                        }


                    }

                    protected void btnSave_Click(object sender, EventArgs e)
                    {

                    }
                }
            }

そして、次のようにProfile.IsAnonymousステートメントからエラーが発生しています-

型または名前空間名「IsAnonymous」は、名前空間「System.Web.Profile」に存在しません(アセンブリ参照がありませんか?)

何がおかしいのですか? Webアプリケーションプロジェクトに.NET dll参照を追加する必要がありますか? System.Web.Profileを検索しようとしましたが、そのようなDLLはありません。 事前に助けてくれてありがとう。

4 Answer


1


アセンブリ参照は必要ありません。

System.Web.Profile`名前空間は System.Web`アセンブリに存在します(デフォルトで既にWebアプリケーションに追加されています)。

「IsAnonymous」は「ProfileInfo」クラスのプロパティです。

これを好きですか?

if (Profile.IsAnonymous == false)
{
    // your code here
}

MSDNからの抜粋:

_ アプリケーションを実行すると、ASP.NETはProfileCommonクラスを作成します。これは、ProfileBaseクラスを継承する動的に生成されたクラスです。 動的ProfileCommonクラスには、アプリケーション構成で指定するプロファイルプロパティ定義から作成されたプロパティが含まれます。 この動的なProfileCommonクラスのインスタンスは、現在のHttpContextのProfileプロパティの値として設定され、アプリケーションのページで使用できます。 _


1


Context.Profile.IsAnonymousを使用できますが、おそらくプロファイルから値を読み取ることが目的です。

Webアプリケーションで* Profile *を直接使用することはできません。 https://stackoverflow.com/questions/426609/how-to-assign-profile-values/1111714#1111714 [プロファイル値を割り当てる方法]を参照してください。


0


System.Web.Profileは名前空間であり、クラスではありません。 匿名かどうかを確認するには、実際のプロファイルへの参照が必要です。


0


Try

Context.Profile.IsAnonymous