2

さて、私はこれで提案を受け付けています:

  • TeamCityMSBuildを使用して、MVC サイトをリモート サーバーにデプロイしています。
  • また、展開時に Web.Config を暗号化したいと考えています。
  • これをローカルで実行するためにコマンド ラインで使用aspnet_regiis.exeしていますが、リモート デプロイでこれを実行する方法がわかりません。

現在使用しているコマンドは次のとおりです。

aspnet_regiis.exe -pe "connectionStrings" -app "/" -site "my.IIS.site.name.here"

助けていただければ幸いです... TeamCity の「リモート コマンド ライン」ツール (ローカル コマンド ライン オプションがあります) はありますか、それとも代わりにmsproj xmlファイルの一部にする必要がありますか? または、まったく別の方法がありますか?

4

1 に答える 1

1

Application_Start に関数を追加しました。

public static void EncryptConfig(string path, string configSection)
{
    Configuration config = WebConfigurationManager.OpenWebConfiguration(path);
    ConfigurationSection section = config.GetSection(configSection);

    if (section == null || section.SectionInformation.IsProtected) return;

    section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
    config.Save();
}

パス変数は Request.AbsolutePath で埋めることができ、configSection はたとえば「connectionStrings」にすることができます。魔法のように動作します!

于 2013-06-13T15:46:16.637 に答える