トップ回答者
app.configを見られないようにするには?

質問
-
app.config に system.serviceModel を書いているのですが、見れないようにする又は、
暗号化するようなことはできないでしょうか?<system.serviceModel> ...略 <client> <endpoint address="http://***.***.***.***:8080/endpoint/" binding="basicHttpBinding" bindingConfiguration="A_WebServiceBinding" contract="WService.A_WebServiceRPC" name="A_WebServicePort" /> </client> </system.serviceModel>
クライアント側のapp.config に書かれる endpoint のURLを隠したいと考えています。
よろしくお願いします。
回答
すべての返信
-
構成ファイルを暗号化することもできますが…本来、ユーザーが参照するファイルですから。
質問ですが、暗号化したとして変更することはあるのでしょうか? 変更しないのなら構成ファイルに書かずにハードコーディングしてもいいかと。
ところでプロクシーサーバーを経由されたら、どこにどう通信しているのかバレバレかと思いますが…。
-
早速の回答を頂きありがとうございます。見る人が見ればわかるレベルに関しては、今はおいておきます。
変更については、基本的にはありません。
ですが、ハードコーディングした場合に、レスポンスのみがうけとれません。
リクエストは通ります。サーバーが 4D の為仕様の公開は WizDLのみです。
コーディングした場合は以下のように書きました。
[ServiceContract(Namespace = "http://www.**.***/namespace/default")] public interface Iservice1 { [OperationContract] string SS_GetExeZipPass(out int filesize, int In_ID); } //------------------------------------------------------------------------// //エントリポイントの作成 EndpointAddress epAddr = new EndpointAddress("http://***.***.***.***:8080/endpoint/"); Iservice1 proxy = ChannelFactory<Iservice1>.CreateChannel(new BasicHttpBinding() , epAddr); string B=""; string A = <strong>proxy.SS_GetExeZipPass</strong>(out B, int.Parse(dto.Arg1));
サーバー側の処理はうまく動作します。レスで帰ってくるはずの A と B が null となってしまいます。