Cuando fui a la universidad, los maestros solía decir que en buena aplicación estructurada que tiene la capa de presentación, capa de negocio y la capa de datos. Esto es lo que escuché por más de 5 años.capa de servicios WCF en aplicación de n-capas: consideraciones de rendimiento
Cuando empecé a trabajar he descubierto que esto es cierto, pero a veces es mejor tener más de sólo tres capas. Hace dos o tres días descubrí this article por John Papa que explica cómo usar Entity Framework en aplicaciones en capas. Según este artículo usted debe tener:
- capa de interfaz de usuario y la capa de presentación (Modelo Vista Patrón)
- capa de servicios (WCF)
- Capa de negocios
- de acceso a datos de capa
Servicio Layer es, para mí, una de las mejores ideas que he escuchado desde que trabajo. Su interfaz de usuario se "desconecta completamente" desde la capa de datos y negocios. Ahora, cuando profundicé en el código fuente provisto, comencé a tener algunas preguntas. ¿Puedes ayudarme a responderlas?
Pregunta n. ° 0: ¿es esta una buena plantilla de aplicación de enterpise en su opinión?
Pregunta # 1: ¿dónde debería alojar la capa de servicio? ¿Debería ser un servicio de Windows o qué más?
Pregunta # 2: en el código fuente proporcionado, la capa de servicio expone solo un punto final con WSHttpBinding. Este es el enlace más interoperable, pero (creo) el peor en términos de rendimiento (debido a la serialización y deserialización de objetos). ¿Estás de acuerdo?
Pregunta # 3: si está de acuerdo conmigo en la Pregunta 2, ¿qué tipo de enlace usaría?
Mirando hacia adelante a oír de usted. ¡Ten un buen fin de semana!
Marco
Ok, en un escenario en el que necesito abrir mi capa empresarial para la aplicación interna, sugieres netTcp, pero si debe acceder a ella desde una aplicación externa, sugeriría webHttpBinding o webHttpBinding. Perfecto. Muchas gracias. – Marconline
sí, definitivamente use netTcp para aplicaciones internas y acceso, su mejor opción. Externamente, por lo general no es posible (debido al hecho de que tendría que perforar los cortafuegos para que el tráfico pase, casi imposible de hacer ...) –