Saltos de línea con WCF, JSON y un cliente que no sea Windows

Tengo un servicio de WCF del NET usando WebMessageFormat.Json como su ResponseFormat y su RequestFormat . El servicio se ejecuta en un servidor Windows, el cliente es una tableta Android.

Como resulta, las cadenas enviadas desde el cliente al servidor contienen LF linebreaks ("\ n") en lugar de CRLF ("\ r \ n"). Dado que Android está basado en Linux, esto no es sorprendente. Sin embargo, los datos se almacenan en una base de datos de Windows y se leen por clientes de Windows, por lo que necesito rupturas de línea CRLF .

¿Existe una forma más elegante de resolver este problema que manualmente s = s.Replace("\n", "\r\n"); cada cadena recibida a través de WCF? Ya que WCF tiene tantas opciones y características, pensé que podría haber alguna opción oculta AutoTranslateNewlines que he perdido …


Información adicional: Mi servicio se declara más o menos así:

 [OperationContract()] [WebInvoke(ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, UriTemplate = "MyService?UserId={myUserId}")] public Reply MyService(String myUserId, Request someRequest) { ... } 

donde Request es una clase personalizada con unos pocos campos String , algunos de los cuales pueden contener varias líneas de texto.

Usted menciona que está usando

 s = s.Replace("\n","\r\n"); 

Pero un problema podría surgir cuando usted tiene algunas secuencias "\r\n" en su cadena. Estos se convertirían en "\r\r\n" , lo cual sería un problema. Para resolver este problema, simplemente haga lo siguiente.

 s = s.Replace("\r\n", "\n"); s = s.Replace("\r", "\n"); s = s.Replace("\n", "\r\n"); 

que debe manejar todas las situaciones, aunque tal vez no el más performant. Para un mejor rendimiento, tal vez usted puede utilizar una expresión regular.

  • Aplicación de Android que se conecta a un servicio web - no funciona
  • Wcf progressive descargar
  • Cómo WCF Webservices se puede probar localmente desde el emulador de Android?
  • Creación de una arquitectura cliente-servidor con estado en WCF
  • No se puede conectar al servicio WCF en Android
  • Tener problemas para conectarse al servicio wcf en localhost desde el emulador de Android
  • ¿Cómo hacer SSO basada en reclamaciones para aplicaciones Android e IPhone usando ADFS STS?
  • Ksoap2 Android - ¿cómo especificar un espacio de nombres para las propiedades secundarias de un objeto complejo?
  • Cargar archivos de MS Word de Android a .Net WCF?
  • ¿Cuándo es mejor no usar Phonegap?
  • Cómo pasar un valor enum a wcf webservice
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.