Регистрация для URI уже существует после остановки / запуска - PullRequest
2 голосов
/ 01 июня 2011

В настоящее время я работаю над приложением, в котором я создаю ServiceHost, затем избавляюсь от него, а затем воссоздаю его позже.Проблема состоит в том, что, как только я избавляюсь от хоста службы, когда я пытаюсь воссоздать его, я получаю исключение «Регистрация для URI уже существует после остановки / запуска».Странно то, что у меня есть три отдельных хоста, и один работает, а два нет.Я предполагаю, что что-то не удаляется должным образом, но я не уверен, почему.

Я создаю хосты, подобные этому

host = new ServiceHost(typeof(MyService));
host.Open();

Затем избавляюсь от них вот так

if (host != null)
{
    host.Close();
    host = null;
}

Я также попытался прервать, а не закрыть, но безуспешно.

1 Ответ

1 голос
/ 01 июня 2011

Хотя я не уверен в точной проблеме, я могу немного подумать над ней и обойти ее.

Если вы работаете в Windows 7, любой URL, созданный вами как часть вашего хостинга, имеетзарегистрироваться.Команда Netsh обычно помогает нам регистрировать и отменять регистрацию URL-адресов.

Для регистрации и отмены регистрации URI требуется разрешение администратора.

Вы можете попробовать следующее.

  1. Если вы запускаете свой exe, попробуйте запустить его в режиме администратора.(Щелкните правой кнопкой мыши и выберите режим администратора).

  2. Если вы пытаетесь использовать Visual Studio, попробуйте перезапустить Visual Studio в режиме администратора и запустить приложение.

  3. Попробуйте отменить регистрацию URI и повторите попытку, используя Netsh.

http://saravananarumugam.wordpress.com/2011/03/01/http-could-not-register-url/

может помочь вам.

...