Я пишу тестовый веб-сервис и заметил странный угловой случай. Если вы добавите две косые черты после порта, метод будет вызван в любом случае для localhost, localhost: 80, 127.0.0.1 и 127.0.0.1:80. Но если я попробую его на веб-сервере, на котором я разрабатываю (порт 55731), это не получится.
localhost.Service1 s = new localhost.Service1();
string uri = "http://localhost//testService.asmx";
s.Url = uri;
double result = s.multiply(5,5);
Вот конкретные случаи:
uri = "http://localhost//testService.asmx"; // works
uri = "http://localhost:80//testService.asmx"; // works
uri = "http://127.0.0.1//testService.asmx"; // works
uri = "http://127.0.0.1:80//testService.asmx"; // works
uri = "http://localhost:55731//testService.asmx"; // fails - HTTP status 400 - bad request
Есть идеи, почему это так? Я знаю, у меня должен быть только один слэш после порта, просто любопытно.