Reto 2: Crea tu backend con WebAPI

Sign in to queue

Description

En este segundo reto podrás ver cómo crear y publicar el backend para tus aplicaciones con WebAPI, usando Visual Studio y publicándolo en una Web App de Azure

Tags:

API, Azure, msp

Embed

Download

Download this episode

The Discussion

  • User profile image
    Pedro Lara

    Hola, he seguido los pasos del video, pero me encontré con dos problemas, uno lo he resuelto, pero el otro soy incapaz.

    Al realizar "update-database" me da un error por que mi IP no puede acceder al servidor, esto lo solucioné añadiendo una regla en configuración de firewall del servidor de la base de datos.

    Al intentar acceder a la api poniendo la url/api/ServiciosAzures me aparece el siguiente mensaje: <Error><Message>An error has occurred.</Message></Error>.
    Me dice que se ha producido un error pero no especifica nada, ¿Cómo puedo solucionarlo? He realizado el reto varias veces pero no consigo solucionarlo.

    Gracias, Pedro.

  • User profile image
    pedrolarben

    Hola, estoy intentando solucionar el error comentado anteriormente.Para conocer mejor cuál es el problema he añadido  customError mode=Off  a web.config.

    Podeis ver el mensaje de error pinchando aqui 

    En el mensaje se puede leer "The operation is not supported for your subscription offer type.". Estoy usando la suscripción Dreamspark de estudiantes. 
    AYUDA!

    Gracias,
    Pedro.

  • User profile image
    Ruben Asensio

    Hola,
    el problema del mensaje de error sin especificar nada, me gustaría saber si has comprobado que la base de datos contenga datos dentro de las tablas (añadidas al hacer update-database). Ademas, si has seguido el vídeo del reto, comprueba el nombre de la llamada. Cuando haces en el Configuration.cs el context.ServicioAzures.AddOrUpdate(), utiliza el "ServicioAzures" para hacer la llamada a la api, a ver si así funciona.

    En cuanto al error de la suscripción, hemos realizado el reto con la de Dreamspark y no hay problema. En el mensaje de error que nos muestras, veo que da problema de serializacion. Sin ver el código, una posible solución sería abrir el archivo Global.asax e incluir al principio estas dos líneas:

    GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

    GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);

  • User profile image
    pedrolarben

    Hola Ruben,

    He mirado el contenido de la tabla como se hace en el video (explorador de servicios > conexiones de datos > mi base de datos > tablas > Usuarios ) y tiene dos filas (las que metí en migrations/Configuration.cs). También lo probé siguiendo el mismo modelo del reto ( ServiciosAzure ) pero me salía el mismo error.

    Te paso el contenido del método seed de Configuration.cs: 

     context.Usuarios.AddOrUpdate(u => u.nombreDeUsuario, new Usuario
                {
                    name= "Pedro",
                    apellidos = "Lara Benitez",
                    email="pedrolarabenitez@gmail.com",
                    nombreDeUsuario = "pedlarben",
                    fechaNacimiento=DateTime.ParseExact("15/10/1996","dd/MM/yyyy",new System.Globalization.CultureInfo("es-ES",false))
    
                },
                new Usuario
                {
                    name = "Carmen",
                    apellidos = "Lara Benitez",
                    email = "carmenlara@hotmail.com",
                    nombreDeUsuario = "carlarben",
                    fechaNacimiento = DateTime.ParseExact("31/12/1994", "dd/MM/yyyy", new System.Globalization.CultureInfo("es-ES", false))
    
                }
                );

     

    He probado a modificar el archivo Global.asax como me has dicho, pero lo único que cambia es que ahora me responde en formato json en vez de responderme en xml, pero el mensaje es el mismo.

    Gracias por contestar :)

     

     

  • User profile image
    pedrolarben

    He probado a arrancarlo en local y FUNCIONA! :)

    Pero sigue sin funcionar en azure :(

    ¿Alguna idea de cual es el problema?

  • User profile image
    DgarciarDev

    Excelente, Gracias !

  • User profile image
    Ruben Asensio

    Hola Pedro. Mira a ver dandole a publicar desde Visual Studio.

Add Your 2 Cents