Asp.net web api Fiddler:与';本地主机';失败。使用owin selfhost

Asp.net web api Fiddler:与';本地主机';失败。使用owin selfhost,asp.net-web-api,owin,Asp.net Web Api,Owin,我有下面这个简单的控制台应用程序,它使用Owin SelfHost托管一个webapi。控制台本身的响应是有效的,但如果从fiddler尝试,我只会得到一个到localhost的连接失败。(与浏览器相同) 类程序 { 静态void Main() { 字符串基地址=”http://localhost:34300/"; Thread.CurrentThread.CurrentCulture=CultureInfo.GetCultureInfo(“da dk”); //在主机中启动OWIN 使用(We

我有下面这个简单的控制台应用程序,它使用Owin SelfHost托管一个webapi。控制台本身的响应是有效的,但如果从fiddler尝试,我只会得到一个到localhost的连接失败。(与浏览器相同)

类程序
{
静态void Main()
{
字符串基地址=”http://localhost:34300/";
Thread.CurrentThread.CurrentCulture=CultureInfo.GetCultureInfo(“da dk”);
//在主机中启动OWIN
使用(WebApp.Start(url:baseAddress))
{
//创建HttpCient并向api/values发出请求
HttpClient=新的HttpClient();
var response=client.GetAsync(baseAddress+“api/GpsPositions”).Result;
控制台写入线(响应);
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(“监听”+基本地址);
}
Console.ReadLine();
} 
}

我遗漏了什么吗?

Have
Console.ReadLine()在使用块中。如果没有,web应用程序将被丢弃。由于您在释放web应用程序之前使用using块中的
HttpClient
进行调用,因此它可以工作。

拥有
Console.ReadLine()在使用块中。如果没有,web应用程序将被丢弃。由于您在释放web应用程序之前使用using块中的
HttpClient
进行呼叫,因此它可以正常工作

class Program
    {
        static void Main()
        {
            string baseAddress = "http://localhost:34300/";
            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("da-dk");
            // Start OWIN host 
            using (WebApp.Start<Startup>(url: baseAddress))
            {
                // Create HttpCient and make a request to api/values 
                HttpClient client = new HttpClient();

                var response = client.GetAsync(baseAddress + "api/GpsPositions").Result;

                Console.WriteLine(response);
                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
                Console.WriteLine("Listening on " + baseAddress);
            }

            Console.ReadLine();
        } 
    }