Pregunta

Recibo el siguiente error cuando intento serializar una HttpWebRequest

  

Escriba 'System.Net.KnownHttpVerb' en   Sistema de ensamblaje, versión = 2.0.0.0,   Cultura = neutral,   PublicKeyToken = b77a5c561934e089 'es   no marcado como serializable.

Uso de .Net Framework 2.0

Esta es una de las propiedades que tiene mi clase. Es un requisito serializarlo.

HttpWebRequest está marcado como serializable, por lo que se supone que se serializará

¿Fue útil?

Solución

Bueno, si uno de los objetos contenidos está marcado como no serializable, creo que estás & "; sin suerte &"; utilizando el serializador predeterminado.

Si es posible, recomendaría tomar los parámetros utilizados para instanciar su solicitud web y serializarlos. Escriba un serializador / deserializador personalizado para reconstituir el objeto que no coopera.

EDITAR: Hay un artículo bastante bueno sobre él aquí .

EDIT2: De hecho, después de buscar un poco en Google, parece que esta es su única opción, ya que el atributo Serializable en HttpWebRequest se ha marcado como obsoleto a partir de .net 2.0. Consulte aquí para obtener más detalles (busque HttpWebRequest).

Otros consejos

La serialización System.Net.HttpWebRequest se marcó como obsoleta en .NET 2.0.

Documentos oficiales aquí:

  

http://msdn.microsoft.com/en-us/library /aa497288.aspx

Desde la perspectiva de la aplicación, este es el mejor resultado. El grueso predominante de una instancia HttpWebRequest es el estado IO que generalmente no es directamente rehidratable.

Como sugiere @ Andrew-Rollings, implemente una serialización personalizada para almacenar / restaurar sus parámetros de solicitud, luego vuelva a crear la instancia de HttpWebRequest desde cero.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top