Cuestiones de nombre de host API 2 API 2
-
21-12-2019 - |
Pregunta
Estoy tratando de hacer un servicio de API web auto-alojado.Seguí un tutorial y funciona bien en mi computadora local.
localhost / api / valores responde bien con el JSON esperado.
Ahora, tengo un servidor atado al DNS "myserver.mycompany.com".Cuando inicie mi servicio WEBAPI 2 en este servidor y intente llamar a myServer.mycompany.com/api/values, tengo un error de 404 páginas no encontrado.
Si busco localmente en este servidor y llamo a la URL localhost / API / Valores, funciona bien.
Aquí está el código de la clase de inicio:
using Owin;
using System.Web.Http;
namespace SelfHostedWebApi2
{
public class Startup
{
// This code configures Web API. The Startup class is specified as a type
// parameter in the WebApp.Start method.
public void Configuration(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.UseWebApi(config);
}
}
}
y aquí es cómo inicio el servidor:
using Microsoft.Owin.Hosting;
using System;
using System.Net.Http;
namespace SelfHostedWebApi2
{
public class Program
{
static void Main()
{
string baseAddress = "http://localhost:80/";
// Start OWIN host
try
{
WebApp.Start<Startup>(new StartOptions(url: baseAddress));
HttpClient client = new HttpClient();
var response = client.GetAsync(baseAddress + "api/values").Result;
Console.WriteLine(response);
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
}
catch (Exception ee)
{
Console.WriteLine("Erreur : " + ee.ToString());
}
Console.ReadLine();
}
}
}
Gracias por su ayuda
Solución
Debe cambiar su BaseAddress para que su punto final coincida con su nombre de host.
Este debe funcionar: *
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow