Instalé VS 2012 y lo estoy usando con éxito en algunos proyectos web, pero algo con eso ha hecho que mi proyecto de servicio web se rompa. Todavía utilizo VS 2010 en el proyecto de servicio web y no lo abrí en 2012.La instalación de Visual Studio 2012 rompió mi proyecto de WCF de 2010
Todo se compila y funciona correctamente, excepto cuando intenta crear una instancia de una clase en el proyecto de weblog referenciado, luego arroja esto error:
Este método o propiedad no es compatible después de que se haya invocado HttpRequest.GetBufferlessInputStream.
No puedo encontrar ningún lugar en el proyecto donde GetBufferlessInputStream se usa explícitamente.
Si salta sobre el código del weblog, todo se ejecuta correctamente.
No puedo encontrar a nadie más que haya recibido este error para tratar de restringirlo, ¿alguna idea de dónde empezar?
Pila
at System.Web.HttpRequest.get_InputStream()
at OAS.Web.Log.WebEvent..ctor(EventType type, HttpContext context, String applicationName)
at OAS.Web.Log.WebTrace..ctor(HttpContext context, String applicationName)
at OAS.Web.AdvisorServices.Extensions.OperationLoggerParameterInspector.BeforeCall(String operationName, Object[] inputs) in C:\SourceControl\OAS\IM.NET3.0\Web\AdvisorServices\OAS.Web.AdvisorServices.Extensions\OperationLogger\OperationLoggerParameterInspector.cs:line 54
** EDITAR - Pregunta extra
¿Por qué estas propiedades Framework 4.5 afectando mi solución 4.0?
Supongo que sí, pero ... ¿"limpió" su solución? – zapico
Recién limpiado y reconstruido, sin cambios. Un chico de Microsoft tenía una respuesta aquí, pero ahora se ha ido. Dije que debería intentar crear un HttpModule que debería llamar al get_InputStream antes de llamar al módulo WCF y forzaría la propiedad ReadEntityBodyMode a classic en lugar de none, pero no estaba seguro de cómo forzar a mi módulo a ser golpeado antes que el wcf . –
Bonificación: odio hacerte esto, pero mira http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a. Respuesta corta: .NET 4.5 es una actualización in situ y, de hecho, corrige errores en .NET 4.0. –