私は、さまざまな指定を持つ多数のユーザーがシステムにログインできるようにするために必要な Web アプリケーションに取り組んでいます。しかし、ユーザー ID を生成する従来の方法とは異なり、特定のパラメーターを使用したいと考えています。
例えば:TECH12nameIND01
上記の例には次のものが含まれています
- 指定
- 入社年
- 従業員の名前
- 位置
- 自動インクリメント番号
はuser id
、登録の最後に登録ページに表示されます。
C#
この特定の問題のコードを探しています。
実際に文字列を構築するのは非常に簡単です
string userId = string.Format("{0}{1}{2}{3}{4}", designation, year, name, location, autoIncrementNumber);
自動インクリメント番号はトリッキーな部分です。この「登録ページ」のインフラストラクチャは何ですか? 単一のサーバーから Web ページを生成していますか? 百万のサーバー?またはソフトウェアはクライアント側ですか?
共通のデータベースがある場合は、現在の自動インクリメント番号をそのデータベースに格納し、ストアド プロシージャを記述してアトミックに番号をインクリメントし、古い番号を返すことができます。次に、自動インクリメント番号を取得するために、コードでデータベースのストアド プロシージャを呼び出すことができます。共有データベースとして機能し、ACID を維持できるものがない場合は、同時実行制御についてもっと真剣に考える必要があります。
試しましたstring.format
か?
string pattern ="{0}{1}{2}{3}{4}";
string username = string.Format(pattern,"Tech",12,"name","IND","01");