c# - 停止/启动后 URI 的注册已经存在

标签 c# exception service servicehost

我目前正在开发一个应用程序,我在其中创建一个 ServiceHost,然后删除它,然后再重新创建它。问题是,一旦我在尝试重新创建服务主机时摆脱它,我就会得到异常“停止/启动后 URI 的注册已经存在。”奇怪的是我有三台独立的主机,一台工作,两台不工作。我假设有些东西没有得到妥善处理,但我不确定为什么。

我正在这样创建主机

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

然后像这样摆脱它们

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

我也尝试过 abort 而不是 close ,但没​​有任何运气。

最佳答案

虽然我不确定确切的问题,但我可以给你一些想法和一些解决方法。

如果您在 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/

可能对你有帮助。

关于c# - 停止/启动后 URI 的注册已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6205751/

相关文章:

Android:如何在两个 Activity 之间进行通信

C# 禁用事件处理程序问题

c++ - 谁删除了在构造函数中有异常的 "new"操作期间分配的内存?

c# - 在 .NET 中向电子邮件添加内容描述

exception - Cython:返回类型化内存 View 的函数的异常类型

c++ - 毫无异常(exception)地编写 C++ 吗?

c# - 在 ASP.NET/C#/IIS 站点上实现守护进程?

linux - 在 Linux 中以非 root 身份运行单一服务

c# - 我如何加载我的 ASHX CSS 处理程序?

c# - 如何将 tsharks 输出实时传输到 C# 程序