.NET Framework デベロッパー センター > .Net Framework フォーラム > .NET Framework 全般 > Webメソッドのstring型の戻り値に含まれる改行コードが変換されてしまう

回答済み Webメソッドのstring型の戻り値に含まれる改行コードが変換されてしまう

  • 2007年11月29日 2:34
     
     

     

    WebサービスのあるWebメソッドにてstring型の戻り値で改行コードを含む文字列を返していますが、

    クライアントのプロキシクラスで受け取ると改行コードが変更されてしまいます。

     

    以下のようにすべてLFに変更されます。

    戻り値の改行コード ⇒ 変更後の改行コード

    CRLF ⇒ LF

    CR ⇒ LF

    LF ⇒ LF

     

    具体的には下記のWebメソッドで確認しています。

     

        [WebMethod]
        public string HelloWorldCRLF() {
            return "Hello \r\n World";
        }

        [WebMethod]
        public string HelloWorldCR()
        {
            return "Hello \r World";
        }

        [WebMethod]
        public string HelloWorldLF()
        {
            return "Hello \n World";
        }

     

    パケットキャプチャでは戻り値の改行コードのままであることを確認できていますので

    クライアントのプロキシクラスで変更されているのではないかと考えています。

     

    戻り値の改行コード ⇒ パケットキャプチャでの確認結果(16進)

    CRLF ⇒ 0D0A

    CR ⇒ 0D

    LF ⇒ 0A

     

    戻り値の改行コードのまま、クライントに受け渡す方法をご存知の方がいらっしゃいましたら、ご教授いただけませんでしょうか?

     

    -環境-

    Webサービス側、クライアント側共に

     Windows XP SP2

      .NET Framework 2.0 SP1

回答

すべての返信

  • 2007年11月29日 13:25
     
     回答済み

    以下の辺りが参考になりそうです。

     

    We can't win when it comes to those pesky standards, can we?
    http://blogs.msdn.com/michkap/archive/2005/12/22/506590.aspx

  • 2007年11月30日 4:05
     
     

    情報提供ありがとうございます。

    確認してみます。

  • 2007年12月20日 7:28
     
     

    こんにちは。中川俊輔 です。

     

    trapemiyaさん、大変参考になる回答ありがとうございます。

     

    SORIO さんへ

    その後いかがですか?

    大変参考になる回答のようでしたので、trapemiyaさんの回答へ回答済みチェックをつけさせていただきました。

    まだ解決していないようでしたら、SORIO さんはチェックを解除することもできますので、ご確認ください。

     

    それでは!