Pregunta

Escenario:

Digamos que tengo cuatro aplicaciones muy similares (es decir, la mayor parte de la funcionalidad es la misma, pero son lo suficientemente diferentes como para justificar que cada aplicación sea separada).

¿Cuál es la mejor manera de reutilizar el código de funcionalidad común entre ellos? COM +? Servicios web?

En general, normalmente solo tengo el código en un proyecto separado (dll), pero cada vez que se actualiza, el archivo debe actualizarse para cada aplicación ASP.Net, y no estaba seguro de si había una mejor manera de hacerlo.

¡Gracias!

¿Fue útil?

Solución

Si es posible, puede crear una solución de Visual Studio con un proyecto DLL y una serie de proyectos de aplicaciones web o sitios web. Los proyectos web tendrían un " proyecto " escriba referencia al proyecto DLL, y todo se construiría al mismo tiempo. Entonces puede usar el " Publicar " herramienta para cada uno de sus proyectos web según sea necesario.

Otros consejos

Si todas las aplicaciones están en el mismo servidor virtual, considere colocar el ensamblado compartido en el GAC. Esto le permite divergir las versiones en caso de necesidad, y mantiene todo en el mismo lugar como un bono. Desventajas: este ensamblaje se ejecuta con plena confianza y debe usar la política y el CAS para garantizar que no haya elevación de los puntos de influencia de confianza para los ensamblajes externos no confiables. También deberá aprender sobre el atributo [AllowPartiallyTrustedCallers].

En cuanto a las otras opciones, COM +, meh, un poco pesado. Bueno para cosas transaccionales. Los servicios web, que no son tan buenos para los servicios pesados ??de datos, pero si se hacen correctamente, pueden ser bastante mantenibles. Cuanto más se comparta, mejor será la recompensa.

Puede tener su proyecto, pero en lugar de agregar el dll común a la referencia del proyecto, agregue el proyecto común a todas las soluciones y luego agregue una referencia al proyecto común.

De esta forma, puede tener un proyecto en cualquier número de soluciones y resolver su problema;)

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