Al crear un proyecto WCF, los archivos de miembros predeterminados son simplemente archivos ordinarios de clase csharp, en lugar de archivos svc. ¿Se requieren archivos svc con un proyecto WCF? ¿Cuándo deberían ser utilizados?Relación entre archivos SVC y proyectos WCF?
Respuesta
. Los archivos .svc se utilizan cuando aloja su servicio WCF en IIS.
Consulte el documento de Microsoft here y here.
Hay un módulo dentro de IIS que maneja el archivo .svc. En realidad, es el módulo ISAPI ASPNET, que da frente a la solicitud del archivo .svc a uno de los tipos de fábrica de controlador que se ha configurado para ASPNET, en este caso
System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089
Si usted es anfitrión de su servicio WCF en algo distinto de IIS, a continuación, no es necesario el archivo .svc.
especie de viejas preguntas, pero para los empleados de Google ..
En realidad, es posible crear un proyecto WCF y alojarlo en IIS sin utilizar un archivo .svc.
En lugar de implementar su DataContract en su SVC de código subyacente, que implementarlo en un archivo .cs normal (es decir, sin código detrás.)
Por lo tanto, tendría un MyService.cs como este:
public class MyService: IMyService //IMyService defines the contract
{
[WebGet(UriTemplate = "resource/{externalResourceId}")]
public Resource GetResource(string externalResourceId)
{
int resourceId = 0;
if (!Int32.TryParse(externalResourceId, out resourceId) || externalResourceId == 0) // No ID or 0 provided
{
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.NotFound;
return null;
}
var resource = GetResource(resourceId);
return resource;
}
}
Luego viene la cosa que hace esto posible. Ahora lo que necesita para crear un Global.asax con código subyacente, donde se agrega un enlace de eventos Application_Start:
public class Global : HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes();
}
private void RegisterRoutes()
{
// Edit the base address of MyService by replacing the "MyService" string below
RouteTable.Routes.Add(new ServiceRoute("MyService", new WebServiceHostFactory(), typeof(MyService)));
}
}
Lo bueno de esto es que usted no tiene que manejar el .svc en sus URL de recursos. Una cosa no tan agradable es que ahora tiene un archivo Global.asax.
Si está utilizando .NET 4.0 o posterior, ahora se puede "simular" la .svc a través de configuración con el siguiente:
<system.serviceModel>
<!-- bindings, endpoints, behaviors -->
<serviceHostingEnvironment >
<serviceActivations>
<add relativeAddress="MyService.svc" service="MyAssembly.MyService"/>
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
Entonces no es necesario un archivo .svc física ni mundial .asax
¿Pueden verse los archivos .svc y global.asax en este asunto como "obsoletos"? –
- 1. Creación de servicio WCF sin archivo .svc
- 2. servicio WCF. Dónde agregar archivo svc
- 3. ¿Cuál es la relación entre entornos y proyectos en virtualenvwrapper?
- 4. ¿Cuál es la diferencia entre usar un archivo .svc y alojar el servicio WCF en 'Servidor de servicio WCF'?
- 5. relación entre log4j y apache.commons.logging
- 6. Relación entre AppDelegate y main.m
- 7. Relación entre GEF y GMF?
- 8. Relación entre C y C++
- 9. Relación entre HttpContext.Request.Cookies y HttpContext.Response.Cookies
- 10. ¿Puedo tener múltiples archivos .svc en un directorio virtual bajo IIS en WCF?
- 11. ¿Cómo puedo generar el archivo .svc?
- 12. ¿Cómo eliminar la extensión ".svc" en el servicio RESTful WCF?
- 13. Archivos de un proceso, la relación entre los archivos en mm_struct y files_struct?
- 14. ¿Qué relación existe entre GDAL, FDO y OGR?
- 15. ¿Cuál es la relación entre OData, Atom, Json y WCF Data Service
- 16. Relación entre sesiones JDBC y Oracle procesa
- 17. Relación entre "cerrar" para PreparedStatement y Connection?
- 18. Relación entre la clase System.Object y Structs
- 19. Relación entre JTable, TableModel y TableData
- 20. C# - Relación entre UDPClient y Socket
- 21. ASP.NET MVC: relación entre modelos y MembershipUsers
- 22. Relación entre el objeto MembershipUser y IPrincipal
- 23. Relación entre HandleBar js y Moustache js
- 24. ¿Existe una relación entre RTTI y excepciones?
- 25. relación entre el flop y la metaestabilidad
- 26. Múltiples Proyectos WCF vs Proyecto Único en la Solución
- 27. navegar entre proyectos f # y C#
- 28. IIS 7 no reconoce el archivo svc
- 29. Subversion y archivos compartidos en repositorios/proyectos?
- 30. diferencia entre el API Web WCF y WCF Data Services
¿En qué más puedo alojar mi servicio? –
Tres de los que se me ocurren son: un host personalizado que usted escribe, un host proporcionado por un tercero que usted compra, o un servicio de Windows. http://msdn.microsoft.com/en-us/library/bb332338.aspx – Cheeso