asp.net core - Cannot debug in Visual Studio after changing the port number? -


i added line .useurls("http://*:5000") enable clients other hosts accessing web api.

    public static void main(string[] args)     {         var host = new webhostbuilder()             .usekestrel()             .usecontentroot(directory.getcurrentdirectory())             .useiisintegration()             .usestartup<startup>()             .useurls("http://*:5000") // added             .build();          host.run();     } 

however, using browser access localhost:5000/api/test got error of http/1.1 400 bad request? should .useurls() compiled production?

 http/1.1 400 bad request date: mon, 08 aug 2016 21:42:30 gmt content-length: 0 server: kestrel 

the following messages copied visual studio output window when testing.

microsoft.aspnetcore.hosting.internal.webhost:information: request starting http/1.1 http://localhost:5000/api/test

microsoft.aspnetcore.server.iisintegration.iismiddleware:error: 'ms-aspnetcore-token' not match expected pairing token '9bca37f2-7eda-4517-9f8f-60b6cc05cf01', request rejected.

microsoft.aspnetcore.hosting.internal.webhost:information: request finished in 8.5976ms 400

you should call first .useurls() and/or .useconfig() , .useiisintegration().

when running ok under iis/iisexpress, end 2 processes. iis listening on desired port , kestrel on one. requests should go iis , forwarded kestrel (with ms-aspnetcore-token).

the call .useiisintegration() hides mapping. changes port in app , sets iis on desired port. breaks if call both methods in incorrect order.

you getting error message because kestrel expected run behind iis, , received direct request. , noticed because iis not there inject ms-aspnetcore-token header.

this issue documents issue , may solve in future releases.


Comments