0

ASP.net プロファイルを使用しようとしています。いくつかの指示に従いました。

  1. ASPNETDB をセットアップします (SQLExpress 2005 を使用)
  2. 構成されたプロファイル プロバイダー (web.config 内)
  3. いくつかのプロパティを定義
  4. 有効な認証

しかし、私は次のようなコードを使用できないようです (つまり、Intellisense はそれが好きではありません)。

Profile.UserCustomContent = "Hi Mom";

明らかに重要なことを見逃していますが、見ることができません。助けてください...

ここに私のからのいくつかのスニップがありますweb.config

<connectionStrings>
<add name="SqlServices"
connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalogue=aspnetdb" />
</connectionStrings>

<system.web>
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
</authorization>

<profile enabled="true" defaultProvider="SqlServices">
<providers>
<clear/>
<add name="SqlProvider" type="System.Web.Profile.SqlProfileProvider"
connectionStringName="SqlServices" applicationName="MyInternalApplication" />
</providers>


<properties>
<add name="UserSearchFilterOptions" type="String" />
<add name="UserCustomContent" type="String"/>
</properties>
</profile>
</system.web>
4

3 に答える 3

3

プロファイルを追加すると、SqlServices ではなく SqlProvider と呼ばれます。(上記で使用したデフォルトのプロファイル プロバイダー名)

于 2009-04-07T15:55:55.173 に答える
1

Web アプリケーション プロジェクトを使用している場合は、プロファイルを自分で実装する必要があります。プロファイルは、すぐに使用できる Web サイト オプションでのみ機能します。Web アプリケーション プロジェクトには、Web サイト プロジェクトのように各ページに自動的に追加されるプロファイル オブジェクトがないため、web.config ファイルで定義されたプロファイル プロパティへの厳密に型指定されたプログラムによるアクセスを取得できません。

したがって、Web アプリケーション プロジェクトを使用している場合は、次の方法が役立ちます。

http://code.msdn.microsoft.com/WebProfileBuilder

ただし、Web サイト プロジェクトを使用している場合は、Scott Guthrie の次の記事が正しい方向に導くはずです。

http://weblogs.asp.net/scottgu/archive/2005/10/18/427754.aspx

これに関する私自身のブログ投稿の詳細:

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

:-)

于 2009-05-08T03:05:31.807 に答える
1

これが私のやり方です..おそらくあなたの状況には別の方法があります.

VB - 新しいユーザー.. (IsAuthenticated の値は True です)

Dim profile As ProfileCommon = ProfileCommon.Create(myUser.UserName, True)
profile.UserCustomContent = "customcontent"

VB - 既存のユーザー...

Dim profile As ProfileCommon
profile = Profile.GetProfile(myUser.UserName)
profile.UserCustomContent = "customcontent"

C# - 新規ユーザー

ProfileCommon profile = (ProfileCommon) ProfileCommon.Create(myUser.UserName, true);
profile.UserCustomContent = "customcontent";
profile.Save();

C# - 既存のユーザー

ProfileCommon profile;
profile = Profile.GetProfile(myUser.UserName);
profile.UserCustomContent = "customcontent";
profile.Save();
于 2009-04-07T15:56:43.957 に答える