2016-06-13 4 views
1

私は最近、Webアプリケーション(ASP.NET MVC)をAzureにデプロイするPowershellスクリプトを作成しました。それは必要なように機能しますが、展開中にWeb.configファイルのエンドポイントを変更できるようにすることでスクリプトを大幅に改善することができました。つまり、スクリプトはユーザーにアドレスの入力を求めます。 Web.configセクションは次のようになります。Azure Powershellスクリプトを使用したデプロイ時にWeb.configのエンドポイントを変更する

<system.serviceModel> 
    <client> 
     <endpoint address="http://localhost:10421/MyService" binding="binding" bindingConfiguration="foo" contract="bar" name="id" /> 
    </client> 
</system.serviceModel> 

私のスクリプトでエンドポイントアドレスを変更したいと思います。

[xml]$content = (Get-Content 'your_file') 
$content.configuration.'system.serviceModel'.client.endpoint.address = 'YourNewAdress' 
$content | Set-Content 'your_file' 

注:

答えて

1

は、お使いのコンフィギュレーション・ファイルをロードするプロパティにアクセスし、それを変更し、最終的にSet-Contentコマンドレットを使用してそれを書き戻すGet-Contentコマンドレットを使用して、私はsystem.serviceModelconfigurationノード内にあることをasume。そうでない場合は、省略してください。

+0

答えはマーティンです。私はそれを試して、すぐにあなたに戻ってきます。 これはファイル自体を上書きしませんか?つまり、アドレスを編集するだけの方法ですが、展開するプロジェクトを作成する必要があります。ですから、これはエンドポイントを自分自身で目的のアドレスに変更することと同じです - > deploy - >アドレスを "http:// localhost:10421/MyService"に戻しますか? – DKo

+0

@DKoはい、ファイル自体を上書きします。あなたは 'C#'でプログラムで 'WCF'エンドポイントをブートストラップすることもできます。おそらくそれを探していますか? –

関連する問題