none
Problemas al desplegar aplicación .Net en IIS8 sobre Windows Server 2012 RRS feed

  • Pregunta

  • Buenas tardes:

    Tengo una aplicación web desarrollada bajo .Net FrameWork 4.5, la cual funciona perfectamente en mi entorno de desarrollo y en un hosting público de pruebas. Cuando intento instalarla en un servidor Windows 2012 al cual le acabo de incluir las características y roles de "Servidor Web" junto a las capacidades de ASP, ASP 3.5 y ASP 4.5, me da el siguiente error:

    Referencia a objeto no establecida como instancia de un objeto.

    El error ocurre en el Page Load del formulario de inicio. En el cual tengo el siguente código:

       If Not Page.IsPostBack Then
                Dim rootWebConfig As System.Configuration.Configuration
                rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
                Dim connString As System.Configuration.ConnectionStringSettings
                If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
                    connString = rootWebConfig.ConnectionStrings.ConnectionStrings("conexion")
                    If Not (Nothing = connString.ConnectionString) Then
                        Application.Add("cadenaConexion", connString.ConnectionString)
                    End If
                End If

    Por favor, ¿alguna sugerencia, hay algo en la configuración de iis8 que debe de chequear.?

    Gracias por adelantado.

    martes, 7 de febrero de 2017 12:54

Respuestas

  • hola

    porque usas

    System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")

    no necesitas eso para obtener el connection string

    simplemente con

    Dim connString As String = ConfigurationManager.ConnectionStrings("conexion").ToString()

    es suficiente

    no entiendo cual seria el objetivo de ese codigo si tienes definido el connection string en el web.config

    Nota: para usar la clase ConfigurationManager tienes que referencia a System.Configuration

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina



    martes, 7 de febrero de 2017 13:43

Todas las respuestas

  • Te da el error porque defines connString pero no lo creas. Debes hacer la definición y la creación del objeto:

    Dim connString As New System.Configuration.ConnectionStringSettings


    Saludos, Javier J

    martes, 7 de febrero de 2017 13:14
  • Gracias por tu respuesta Javier J. Ya he instanciado  New System.Configuration.ConnectionStringSettings, pero sigue dándome el mismo error. El caso es que la aplicación está instalada en otro servidor. Pienso que debe de haber algún problema con la confuguración del server actual.

    Saludos

    martes, 7 de febrero de 2017 13:27
  • ¿Qué línea es la que da el error?

    Saludos, Javier J

    martes, 7 de febrero de 2017 13:28
  • hola

    porque usas

    System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")

    no necesitas eso para obtener el connection string

    simplemente con

    Dim connString As String = ConfigurationManager.ConnectionStrings("conexion").ToString()

    es suficiente

    no entiendo cual seria el objetivo de ese codigo si tienes definido el connection string en el web.config

    Nota: para usar la clase ConfigurationManager tienes que referencia a System.Configuration

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina



    martes, 7 de febrero de 2017 13:43
  • Muchísimas gracias, Leandro y Javier. Perdón por mi torpeza. Lo he hecho así como menciona Leandro y ya funciona con corrección. Estaba obcecado porque, como funcionaba en mi entorno de desarrollo no entendía el porqué no lo hacía en producción.

    Muy agradecido por la ayuda.

    • Marcado como respuesta Juanjo Smith martes, 7 de febrero de 2017 14:02
    • Desmarcado como respuesta Juanjo Smith martes, 7 de febrero de 2017 14:02
    martes, 7 de febrero de 2017 14:02