0

問題: ASP .NET で C# を使用して開発を行っており、電子メールを検証したいと考えています。そのために私は正規表現を使用しています(これを EmailRegularExpressionValidator と呼びましょう)。私の問題は、コードを再コンパイルする必要がなく、必要に応じて簡単に変更できるように正規表現をどこに置くべきかということです。検証は、ビジネス層の「IntermediateServices」で行われ、すべてのものが自分のことを行うようになります。

解決策 1: web.config

私はたくさんの Windows サービスを持っていますが、どれも独自の設定を持っています。その中に EmailRegularExpressionValidator を入れると、すべてを書き込む必要があり、1 つを変更するとすべてを変更する必要があります。良くない。

解決策 2: DB

場合によっては、1000 件 (またはそれ以上) のメールを検証する必要があり、データベースに EmailRegularExpressionValidator を配置すると、EmailRegularExpressionValidator の値を知るために 1000 件のクエリを実行する必要があります。メモリに入れていると思いますが、Webサービスがあります。良い考えではありません。

解決策 3:リソース

リソースは、Web サイトにある場合にのみ簡単に変更できます。それらをビジネスレイヤーに入れると、簡単に変更できません。

解決策 4: BD + セッション

後で言うように、私はWebサービスを使用しています....

私が明確であり、あなたが私を助けてくれることを願っています.

私の英語について申し訳ありません(ポルトガルからのご挨拶)。

どうもありがとう。

4

2 に答える 2

1

あなたの場合、構成ファイルをお勧めします。.NET 構成ファイルには階層があり、すべて machine.config で始まり、すべての .NET アプリケーションはその構成から設定を読み取ります。

アプリケーション構成ファイルのキーを上書きしない場合、アプリケーションは machine.config の設定を使用します。これは最も中心的なポイントであり、すべてのアプリケーションに使用できます。一度変更すると、すべてが変更されます。

C:\Windows\Microsoft.NET\Framework\ にあります。

その後、使用しているフレームワークによって異なりますが、

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG

またはここ:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

例: これを<configuration>machine.config のタグの後に配置します。

<appSettings><add key="myParameter" value="myValue"/></appSettings>

次に、コードで、

Configuration con = ConfigurationManager.OpenMachineConfiguration();
ConfigurationSection consec = con.Sections["myParameter"];

System.Configuration への参照を追加する必要があります

それが役に立てば幸い。

于 2012-05-17T09:21:44.230 に答える
0

私はよりスマートな方法を使用しました...

代わりに、提案されているようにmachine.configを編集して、必要な魔法を実行するキャッシュを使用します。

ここでそれを使用する方法についての良い記事を見つけることができます:http://codemaverick.blogspot.pt/2007/01/caching-in-windows-application-i-was_8639.html

于 2012-05-22T15:46:07.997 に答える