Buscando alguna guía sobre un servicio wcf 4 de descanso que se basa en la extensión WCF REST Template 40 (CS) en VS2010. He pasado los últimos días intentando que este insector funcione, revise otras publicaciones, y aunque me he acercado, parece que no puedo cruzar la línea de meta. Después de mucha frustración, finalmente está afectando el servicio y la publicación (usando el creador de solicitudes de fiddler), pero el parámetro del método aparece como nulo, pero se está configurando correctamente en el generador de solicitudes. Supongo que puede ser un problema de configuración en este punto, pero a medida que se acerca la fecha límite, me estoy quedando sin tiempo para más investigación. FWIW, en la depuración, la variable jsonstring es nula. Es cierto que soy una pregunta novato, ya que esta es la primera vez que me encuentro con REST, ¡cualquier ayuda sería muy apreciada!WCF REST Servicio JSON Publicar datos
Gracias de antemano.
web.config
<system.web>
'<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
global.asax.cs
public class Global : HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes();
}
private void RegisterRoutes()
{
RouteTable.Routes.Add(new ServiceRoute("Scoring", new WebServiceHostFactory(), typeof(ScoringSvc)));
}
}
Código de servicio
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class ScoringSvc
{
[OperationContract]
[WebInvoke
(Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat=WebMessageFormat.Json,
ResponseFormat=WebMessageFormat.Json)]
public string BOB(string jsonstring)
{
return "Received: " + jsonstring;
}
}
violinista encabezado de solicitud
Host: localhost
Content-Length: 20
Content-Type: application/json; charset=UTF-8
solicitud cuerpo
{"Name":"Frank"}
respuesta cruda de violinista
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 12
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 21 Mar 2011 21:31:14 GMT
"Received: "
Olvidé mencionar que la solución usa IIS 7 para el servidor web y no para el servidor de depuración de apnet. – Grogh