我正在寫一個組件的bdd測試,該組件會啓動phantomjs並在我的網站上點擊特定路線並對其進行處理。由於該組件基本上是關於自動執行幻像實例的,因此無法輕鬆地清除http請求。當自我託管究竟是什麼原因AddressAccessDeniedException:HTTP無法註冊URL
所以我想剔除一個自我託管的終結點,它會剔除我之後的數據。因爲這是一個單元測試,我認爲它孤立地運行其非常重要的,所以我做這樣的事情:
async Task can_render_html_for_slide_async() {
var config = new HttpSelfHostConfiguration("http://localhost:54331");
config.Routes.MapHttpRoute("Controller", "{controller}", new {});
using (var server = new HttpSelfHostServer(config)) {
server.OpenAsync().Wait();
var client = new HttpClient();
var resp = await client.GetStringAsync(config.BaseAddress+"/Stub");
Console.WriteLine(resp);
}
}
public class StubController : ApiController
{
public string Get() {
return "Booyah";
}
}
這讓我
AddressAccessDeniedException : HTTP could not register URL http://+:54331/
I understand that netsh or Admin mode is required for this,但我不明白爲什麼。例如Nodejs在Windows上運行得非常好,但沒有這樣的要求。
也using OWIN directly不需要netsh-ing。發生什麼了?
我明白了,是不是windows.api使用所有相同的owin的東西,但? –