Asp.net web api Fiddler:与';本地主机';失败。使用owin selfhost
我有下面这个简单的控制台应用程序,它使用Owin SelfHost托管一个webapi。控制台本身的响应是有效的,但如果从fiddler尝试,我只会得到一个到localhost的连接失败。(与浏览器相同)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
类程序
{
静态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();
}
}