none
Compartir Entity Framework entre aplicaciones virtuales IIS 7.0 RRS feed

  • Pregunta

  • Hola, estoy trabajando con una solucion de distintos proyectos web en visual studio 2010 con las siguientes tecnologias: ASP .NET, SQL Server 2008, Silverlight y Entity Framework para el acceso a datos.

    El Entity Model se encuentra en el proyecto principal y encontré la manera de compartirlo con los demás proyectos agregando una referencia y modificando la cadena de conexión de la siguiente manera:

    En el proyecto pricipal tengo:

    <add name="BDSERHEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SERV1;initial catalog=BD;user id=usuario1;password=123;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    

    Y en los demás proyectos tengo que modificarla de la siguiente manera:

    <add name="BDSERHEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=SERV1;Initial Catalog=BD;User ID=usuario1;Password=123;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
    

    Mientras trabajo y depuro en visual studio 2010 no he tenido problemas con el acceso a datos, pero ahora que estoy tratando de implementarlo en el servidor (IIS 7.0) configuré un sitio web para el proyecto principal y los demás como aplicaciones virtuales.

    Las páginas del sitio web principal no tienen problemas para conectarse a datos, el problema surge con los demas proyectos ya que si les dejo la cadena de conexion en el web.config me marcan error de que ya fue agregada y si se las quito no se conectan a datos.

    Alguien sabe como puedo configurar una cadena de conexion de un modelo entity framework que funcione tanto para el sitio web principal como para las aplicaciones virtuales? 


    JAAF
    miércoles, 18 de enero de 2012 17:29

Todas las respuestas

  • Si vas a utilizar el Entity Model en varios proyectos, lo mejor es crearte una Librería. A esa librería le añades el modelo. Luego, a cada proyecto que quieres que use el Entity Model le añades una referencia a la librería. De esta forma, en cada proyecto pondrías la misma cadena de conexión.

    Por otra parte, si lo que tienes es una carpeta y no una aplicación virtual, estaría añadiendo dos veces la cadena de conexión y te da error. Para evitarlo añade un <clear /> después de <connectionStrings> y antes de <add name="BDSerHEntities" ........./> en el web.config de la carpeta de la aplicación virtual.

     

     


    MCPD Web Developer 4, MCPD Silverlight 4, MCAD .net
    viernes, 20 de enero de 2012 12:33