1

開発環境では、Visual StudioのASP.NET構成ツールを使用して、テスト用の数人のユーザーを作成しています。QAと本番環境に近づくにつれ、アプリケーションの展開後に大量(1000)のユーザーの作成を自動化するための最良の方法は何でしょうか。

すべてのユーザー名とパスワード、役割などを含むcsvがあり、組み込みの暗号化とパスワードソルティングセキュリティを利用したくありません。これらすべてのユーザーを手動で「登録」したくありません。これが私にできることであるかどうかはわかりません(またはdb管理者に実行するように指示してください)。

誰かがこれを達成する方法を知っていますか?

どんな援助でも大歓迎です。

よろしく

4

2 に答える 2

3

最も簡単な解決策は、「CSVアップロード」フォームを設定することです。CSVはMembership.CreateUser、ループで呼び出すMVCアクションによって処理されます。

おそらく、これのパフォーマンスは十分に良いでしょう。

于 2012-08-27T11:47:26.030 に答える
1

ASP.NETサイトでバッチ処理の問題に取り組む方法はいくつかあります。

ASP.NETサイトのアプリケーションプールをリサイクルする方法がおかしいため、バッチ処理は通常、外部プロセスで実行されます。

Windowsサービス

1つの方法は、別のWindowsサービスです。これは、新しいExcelを取得し、そのデータを送り込み、タイマーが動き続けます。これは頻繁に使用されるのを見てきましたが、簡単に展開できるようにするには余分な作業が必要になるため、非常に面倒です。 WindowsサービスからASP.Netメンバーシップを更新します

CacheItem

2番目の方法は、CacheItemsとその有効期限タイマーを使用してバッチ処理を行うことです。長いタイマーでキャッシュオブジェクトを定義し、それが期限切れになってRemoved-callbackが呼び出されたら、データベースの作業を行います。これは、ASP.NETサイトとともに展開され、コードが1つの論理的な場所にあるため便利です。 https://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

ワークフローファウンデーション

3番目の方法は、ワークフローファウンデーションサービスを作成することです。そのサービスは、ASP.NETサイトから呼び出しを受け取ります。ASP.NETサイトは、WFサービスをインスタンス化し、Excelファイルでいくつかのdb作業を実行します。その後、1か月の遅延でwhileループに入ります。これは、ASP.NETアプリケーションプールの寿命に関係しないため、優れています。より詳細な制御が可能であり、このロジックを別のIISでホストされるWCFサービスに分離できます。 http://msdn.microsoft.com/en-us/library/dd489452.aspx

ただし、データとの統合は常に苦痛です。展開時に作業が最小限に抑えられ、障害が発生する可能性が最も低いソリューションが最善のソリューションであることを忘れないでください。

于 2012-08-27T11:24:17.947 に答える