問題タブ [asp.net-profiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - asp.netMVC2でのユーザープロファイルの管理
ProfileProviderと同様に、.net MVC2を使用してWebアプリにユーザー管理を追加しようとしています:すべてのプロファイルのリストを取得します。
「すべてのユーザーを一覧表示」ページにプロファイル情報(名、姓)を表示したいのですが、すべてのプロファイルを取得する方法がわかりません。ProfileManager.GetAllProfiles()は、実際のProfileオブジェクトではなく、 ProfileInfoオブジェクトのコレクションを返します。
ProfileInfoクラスはいくつかの有用な情報へのアクセスを提供しますが、実際にはその特定のプロファイルのプロパティを取得することはできません。
システム内のすべてのプロファイルを取得して、管理ページに一覧表示できるようにする方法はありますか?
asp.net - 登録時にユーザーにプロファイル パーツを入力させるにはどうすればよいですか? (プロバイダーを使用)
ユーザーが登録時にプロファイル オプションを入力できるようにしようとしています。デフォルトでasp.netに付属のプロバイダーを使用しています。
例: ユーザーは次の登録フォームに入力します。
次のようにして、表示する年齢を取得しました。
1) 次のコードをWeb.config
register.aspx
2)ビューに次のコードを追加する
私はそれを実行しに行き、フォームに記入して登録をクリックしました。私はこれを得た:
タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
と
127 行目: _provider.CreateUser(userName, password, email, null, null, true, null, out status);
それが私がやったことであり、おそらくすべて間違っています。これを行う最善の方法は何ですか?
asp.net - CreateUserWizard でユーザーを作成した後、Page.Profile が保存されない
OnCreatedUser
起動してエラーをスローしない次のコードがあります。Profile.Title
割り当て後に検査すると、正しい値に設定されています。
Profile.Title
ただし、後続のページでテストすると(ユーザーは間違いなくログインしています)、それは== ""
;
これはユーザーの古い匿名プロファイルであり、新しく登録されたユーザー アカウントに関連付けられた新しいプロファイルではないと推測しています。
Profile_MigrateAnonymous
Global.asax にメソッドを追加しようとしましたが(ここで提案されているように)、このコードはヒットしません。
タイトルを新しいユーザー アカウント プロファイルに保存するにはどうすればよいですか?
更新
ここにコードがあります
asp.net - applicationName 属性は実際にどのように機能しますか?
私はちょうど不思議です
なぜasp.netチームは、意味のあるプロジェクト名ではなく、メンバーシップロールアプリケーション名のデフォルト値として/を選択したのですか?
また、アプリケーションがルート アプリケーションとしてデプロイされない場合があります。/ が適切でなくなったことを意味します。
編集1:
例: 最初にプロジェクト A を作成してデプロイします。後で、別のプロジェクト B を作成してデプロイします。両方のプロジェクトがデフォルトを使用している場合でも機能しますが、各プロジェクトのユーザーを特定するのは困難です。
私にとっては、デフォルトがプロジェクト名に設定されている方が良いです。
編集2:
Web.config で Visual Studio によって生成された applicationName 属性について話しています。デフォルトで / の代わりにプロジェクト名を使用しないのはなぜですか?
編集3:
2 つのアプリケーション (つまり、1 つをルートとして、もう 1 つを子アプリとして) を作成し、両方とも同じ applicationName を / に設定すると、両方のアプリケーションで同じ ApplicationID が使用されます。これは、スラッシュがサイト ドメイン ツリーとは関係がないことを意味します。私の混乱は解決されました。では、なぜ Visual Studio はデフォルトで / に設定したのでしょうか (これは私にとって混乱を招きます)。
編集4:
2つのアプリケーションがあります。1 つはルート アプリケーションとして、もう 1 つは前者の下のサブ アプリケーションとして。どちらも applicationName = "/" を使用します。データベースで次のような結果が得られました: では、/ の意味は何ですか? 意味がない場合、なぜVSはプロジェクト名ではなく、この紛らわしい名前を選んだのですか?
編集5:
この記事から、要約を作成します。
- 両方のアプリケーションの web.config から applicationName 属性を削除すると、ルート用にデータベースで生成される ApplicationName は「/」になり、サブアプリ用にデータベースで生成される ApplicationName は「/subappvirtualdir」になります。
- 両方のアプリケーションの applicationName をデフォルト値の "/" のままにしておくと、ルート アプリとサブ アプリの両方が、データベースで生成された "/" の同じ ApplicatonName を取得します。
- 両方のアプリケーションで applicationName を「任意の名前」に変更すると、データベースで生成された ApplicationName は、両方のアプリケーションで「任意の名前」に設定されます。
上記のリンクをありがとうロッキン!
c# - リダイレクト前に新しくログインしたユーザーのプロファイルをロードする方法
ASP.NET MVC 2プロジェクトを開始し、自動的に生成されたコードから構築しています。
私が経験している問題は、ユーザーがログインした後、新しくログインしたユーザーのプロファイルがにロードされていないHttpContext
ように見えるため、ProviderException
「このプロパティは匿名ユーザーには設定できません」というメッセージが表示されることです。 "現在のユーザーのプロファイルにプロパティ値を設定しようとしたとき。
POSTのみのログオンアクションの場合、Visual Web Developer2010Expressは基本的に以下を生成します。
ここFormsService
で、はタイプのコントローラーのプロパティですFormsAuthenticationService
(これも生成されます):
行の後FormsService.SignIn(model.UserName, model.RememberMe)
で、新しくログインしたアカウントの情報がコントローラーですぐに利用できると想定していましたが、そうではないようです。たとえば、profile.SetPropertyValue("MyProfileProperty", "test")
FormsService#SignInの呼び出しの下に追加すると、ProviderException
「このプロパティは匿名ユーザーには設定できません」というメッセージが表示されます。
HttpContext
新しくログインしたユーザーのプロファイルをにロードして、次のリクエストの前にそのユーザーのプロファイルにプロパティ値を設定できるようにするにはどうすればよいですか?
.net - n層アーキテクチャのビジネスロジック層へのSystem.Web参照の追加
TableProfileProviderを使用して、n層アーキテクチャでASP.NETプロファイルシステムを使用しています。
UIレイヤーはWebアプリケーションであるため、プロファイルを使用できるようにするには、profilecommonクラスを公開する必要があります。
これが私のアーキテクチャの単純化されたスキーマです:
UI: ASP.NETWebアプリケーション。
BusinessEntities:純粋なPOCOクラス。パーシスタンスイグロナス。
BLL:ビジネスロジック層。
DAL:データアクセス層。
Profilecommonの定義は次のとおりです。
すべてがWebアプリケーションプロジェクトで定義されている単純な設計アーキテクチャでは、次のようにprofilecommonにアクセスします
。ProfileCommonstrongleyTypedProfile =(ProfileCommon)this.Context.Profile;
ビジネスロジックレイヤーからプロファイルコモンにアクセスできるようにしたいので、ProfileCommon定義をBusinessEntitiesライブラリに移動し(BusinessEntitiesライブラリにSystem.Webアセンブリへの参照を追加する必要がありました)、新しいProfileBLLクラスを定義しました。
これで、次のようにUIから共通のプロファイルにアクセスできます。
さて、Business Layer / BusinessEntities LibraryでSystem.Webを参照することは、n層アーキテクチャの分野に違反していますか?もしそうなら、これを達成するためにあなたは何を提案しますか?
c# - ASP.NETカスタムプロファイルエラー
ASP.NETプロファイルの実装に問題があります。これは私のプロフィールコードです:
私のWeb設定は次のようになります。
何らかの理由で、コードが実行され、現在のユーザーのプロファイルを取得または更新すると、コードが爆発します。ただし、さらに興味深いのは、FirstNameプロパティとLastNameプロパティが正常に機能することです。エラーは、EmailAddressプロパティとTelephoneNumberプロパティにアクセス/更新するときにのみ発生します。
<properties>
web.configプロファイルセクションにFirstName、LastName、EmailAddress、TelephoneNumberプロパティのセクションを追加すると、別の種類のエラーが表示されます。「プロパティは既に定義されています」などです。
これを修正する方法について何かアイデアはありますか?また、プロファイルシステムのバックエンドはSQL Azureであり、フロントエンドはAzureWCFサービスであることを知っておく必要があります。
ありがとう、
c# - データベースへの挿入時に CreateWizard とプロファイルの説明が必要
ようやく CreateWizard と Profile がシステムで動作するようになりましたが、プロファイルのプロパティがそのままデータベースに格納される理由を理解できません。たとえば、プロファイルのプロパティに追加したものはすべて、PropertyNames
andという列に格納されますPropertyValueString
。
なぜ彼らがこれを行うのか理解できません。propertynames
が に対応していることは理解していpropertyvaluestrings
ますが、これらがプロファイル テーブルの別の列に入れられないのはなぜですか?
これらの値を1 つの文字列にすべて格納するのではなく、Address
またはなどの列に格納したい場合、ユーザーを変更した場合に更新をAccountBalance
維持するにはどうすればよいですか? PropertyValueString
AccountBalance
また、CreateWizard を使用してユーザーを作成する場合、クエリを手動で実行して追加情報をプロファイル列に挿入する必要がありますか (元のプロファイル テーブルを拡張して、FirstName
LastName
などの列を増やす場合)? 私がここに欠けているものはありますか?また、文字列の xml シリアライゼーションにこれらを使用していると聞きましたが、そうすることの利点は何ですか? ありがとう
asp.net-mvc - プロファイル オブジェクト + ビュー モデル + ユーザー プロファイルの更新 MVC C#
問題: Joel の説明に従って、カスタム プロファイル オブジェクトを作成しました。次に、Jeremy のメソッド ( here ) を使用してカスタム プロファイルを拡張し、ユーザーを生成してそれらの値を設定できるようにしました。次に、ユーザーがメンバーシップ情報 (電子メール) とプロファイル情報を更新できるように、メンバーシップ情報とプロファイル情報を表示する ViewModel を作成しました。**ビューには、ビューの更新情報に入力したすべてのフィールドが表示され、[保存] をクリックすると、次のエラーが表示されます
System.Configuration.SettingsPropertyNotFoundException: 設定プロパティ 'FirstName' が見つかりませんでした。**
これが私のカスタム プロファイル オブジェクト (モデル) です。
UserProfile Get メソッドは次のとおりです。
ご覧のとおり、View Model を使用してビューを表示しています。ビューモデルは次のとおりです。
最後に、Update UserProfile の HttpPost メソッドは次のとおりです。
問題は、エラーがどこから来ているのかわからないことです。フォームがレンダリングされ、有効な情報を入力すると、「設定プロパティ 'FirstName' が見つかりませんでした」と表示されます。UserViewModel が ProfileInformation.cs (カスタム プロファイル オブジェクト) を更新しようとしているようですが、オブジェクトが見つからないと言っています...更新するプロファイルがないためだと思います...しかし、私は投稿する前にエラーに到達できません...とてもイライラします!どんな助けでも大歓迎です!!! これをチェックするために時間を割いていただきありがとうございます。
また、カスタム Profile オブジェクトを正常に使用し、テスト目的で name プロパティを「ScoobyDoo」に更新する Register メソッドも残します :)
c# - カスタム プロパティでプロファイルを取得するには?
InvitationCode="foo" でプロファイルを取得するには? また、プロパティを一意にすることはできますか?