none
app.configを見られないようにするには? RRS feed

  • 質問

  • 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を隠したいと考えています。

    よろしくお願いします。

    2012年1月15日 23:42

回答

  • いろいろとやってみましたが、不可能でした。

    結局、app.config はそのままで運用させることにしました。

     

    • 回答としてマーク Michi.K 2012年1月20日 4:55
    2012年1月20日 4:55

すべての返信

  • 構成ファイルを暗号化することもできますが…本来、ユーザーが参照するファイルですから。

    質問ですが、暗号化したとして変更することはあるのでしょうか? 変更しないのなら構成ファイルに書かずにハードコーディングしてもいいかと。

    ところでプロクシーサーバーを経由されたら、どこにどう通信しているのかバレバレかと思いますが…。

    2012年1月16日 0:57

  • 早速の回答を頂きありがとうございます。

    見る人が見ればわかるレベルに関しては、今はおいておきます。

    変更については、基本的にはありません。
    ですが、ハードコーディングした場合に、レスポンスのみがうけとれません。
    リクエストは通ります。

    サーバーが 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 となってしまいます。

     

     

    2012年1月16日 3:34
  • そういえばWPFと無関係な質問ですね。これはWCFです。

    構成ファイルを使用したコードの場合、Svcutil.exeで生成したクライアントコードを使用されていたと思われますが、構成ファイルを使用しない例ではなぜ生成されたクライアントコードを使用しないのでしょうか?
    # でも挙げられたコードはパッと見、動きそうですが…。

    2012年1月16日 4:01
  • いろいろとやってみましたが、不可能でした。

    結局、app.config はそのままで運用させることにしました。

     

    • 回答としてマーク Michi.K 2012年1月20日 4:55
    2012年1月20日 4:55