2017-08-15 13 views
1

私は異なる言語のResxファイルを使用するasp.net mvcアプリケーションを持っています。ファイルはWebプロジェクト内に存在し、別の1つのサービスレイヤーに存在します。異なる顧客の.netリソースファイルをカスタマイズする方法は?

私は今、特定の顧客のためにいくつかのラベルをカスタマイズしたいと考えています(アカウントとWebアプリケーションへのログインがあります)。コードの変更を少なくしてアーカイブすることは可能ですか?

以下のような記事がありますが、データベースを使用するように切り替えると多くの作業が必要になるようです。

https://stackoverflow.com/a/19277221/4903729または https://msdn.microsoft.com/en-us/library/aa905797.aspxまたはhttp://afana.me/archive/2013/11/01/aspnet-mvc-internationalization-store-strings-in-database-or-xml.aspx/

は助けることができる顧客ベースのRESXファイルをロードするために、カスタム・リソース・プロバイダを使用して見えるが、私は考えています難易度は次のとおりです。

  • する得意先を渡す方法リソースプロバイダに送信します。任意の提案のための
  • どのように\ビン\ドの\ customer1のようなカスタムディレクトリからリソースDLLファイルをロードするには*それ\ .resources.dllまたは\ binに\ customer1 * .resources.dll

ありがとう!

+0

_リソースプロバイダにcustomerIDを渡すことについてのアイデアはありませんおそらく、コントローラでUserPrincipalプロパティを使用する必要があります –

+0

ありがとう@MahmoudHboubatiありがとうございます。今、私はどのように顧客固有のリソースをロードするかを見ていきます... – hazjack

答えて

1

解決方法はありますか? (Afanaの投稿に基づいて)、コードの変更は非常に少ないはずです(xmlファイルを作成し、ResourceBuilder.exeを実行してください)。私はカスタマイズしたのは何

はほんの少しです:

  • 部分クラス内のすべてのキー
  • を生成するResourceBuilderを変更手動で個々の顧客のためにXmlResourceProviderをインスタンス化するか、デフォルトのxmlリソースを受け入れResources.provider.csを作成します

enter image description here

  • これが役立つ場合here is the poc - CustomerId/uiCultureをテストするように変更します。
関連する問題