WCF 服务主机配置 - 请尝试将 HTTP 端口更改为 8732

2024-05-16

我的 PC 上运行着一个复杂的基于 WCF 服务的解决方案,但由于安装 Windows 8.1 时出现问题,我不得不“刷新”我的 PC。现在我已经重新安装了 Visual Studio 2012,我的项目不再正常运行。

当我调试单元测试时,wcfservicehost 显示错误:

Please try changing the HTTP port to 8733 or running as Administrator.
System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:8732/Design_Time_Addresses/MyWCFService/Name/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). ---> System.Net.HttpListenerException: Access is denied

显然,通常的解决方案是以管理员身份运行 Visual Studio(可能是因为它随后会覆盖某处的某些内容),但是我无法执行此操作,因为我需要引用网络驱动器上的 DLL,并且当您以管理员身份运行。

我假设某处有一个配置文件或注册表项,用于确定 Visual Studio 或 WCF 服务主机在运行时使用哪个端口,并且其中有一个来自我以前的 Windows 安装的剩余项。

要将端口更改为 8733 需要编辑每个服务,重新引用它们,然后重建解决方案并希望它能正常工作。

有没有办法设置或强制 WCF 服务主机使用的端口?


经过一番挖掘和研究后,我发现最新版本的 Windows 强制执行安全设置,阻止您监听任何端口。我假设当安装 Visual Studio 时,它会保留一个端口供自己使用,以便您可以托管并调试 Web 服务。这是我的开发计算机上的 localhost:8732 端口,但重新安装 Visual Studio 后,它现在是 localhost:8733,不幸的是,解决方案中的所有 app.config 文件都指向端口 8732。

运行提升的命令提示符并执行netsh http show urlacl。这显示了我在其中找到的保留端口的列表:

Reserved URL            : http://+:8733/Design_Time_Addresses/
User: NT AUTHORITY\INTERACTIVE

我假设这是安装 Visual Studio 时添加的条目。

执行以下命令保留 8732 url/端口:

netsh http add urlacl url=http://+:8732/ user=WORK\Clara

重新启动 Visual Studio,突然我的解决方案再次运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WCF 服务主机配置 - 请尝试将 HTTP 端口更改为 8732 的相关文章

  • “从另一方收到不安全或不正确安全的故障”

    我越来越 从另一方收到不安全或不正确安全的故障 有关故障代码和详细信息 请参阅内部故障异常 我已经在客户端完成了此操作 并且在控制台应用程序中完成了相同的操作 但是出现的错误可能是某些冲突 我已经检查过app config以及 Code i
  • 双工服务的实例、会话和并发

    我有一个要求 服务应该每秒向客户端发送一条消息 该服务只能有一个客户端 我创建了一个双工服务 现在对该服务的实例 并发性和会话感到困惑 双工服务是否始终需要会话 会话模式 必需 InstanceContextMode 是否应始终为 PerS
  • 禁用“应用程序已停止工作”窗口

    我们获得了 NET WCF 服务 理想情况下该服务应具有 100 的正常运行时间 但有时我们的应用程序中会出现由第三方数据库连接组件引起的内存泄漏问题 我们配置 nnCron 来监视进程是否存在 并且当该服务的进程退出时 它应该再次启动它
  • 当一个控制台应用程序已在运行时,如何在 Visual Studio 中启动第二个控制台应用程序

    我正在研究 WCF 书中的一些示例 单个解决方案中有一个主机项目和客户端项目 两者都是控制台应用程序 主机是启动应用程序 但客户端应用程序似乎没有像书中所说的那样打开控制台 书上说 当主机运行时 运行客户端 运行 按钮已被禁用 因为它已经在
  • WCF 错误:相对端点地址

    嗯 对 WCF 还很陌生 我想我有点搞砸了 这就是我到目前为止所做的 我在 IIS 中托管了我的 WCF 服务 首先是合同 using System using System Collections Generic using System
  • 替换 WCF 默认 JSON 序列化

    是否可以替换 WCF 的默认 JSON 序列化 我目前正在使用webHttp行为 并通过application json作为 MIME 类型 特别是 我不喜欢默认情况下每个属性都是键 值对 例如 Key PropertyName Value
  • WCF 包装代理客户端

    我的项目中有许多在客户端应用程序中使用的 Web 方法 我不想写这样的代码 using ServiceClient sc new ServiceClient Invoke service methods sc Method1 相反 我想写
  • WCF 中的动态 ExpandoObject

    尝试使用枚举类型进程和动态数据的操作来 Ping Pong 我的服务 ServiceContract CallbackContract typeof iStackoverflowCallBack public interface iStac
  • WCF 消费者网站:ChannelFactory.Endpoint 上的 Address 属性为 null。 ChannelFactory 的 Endpoint 必须指定有效的地址

    我有一个简单的 WCF 服务 它在本地主机上运行良好 由另一个本地网站使用并返回数据 现在我将我的服务上传到我们的主机 更改 web config 中的适当地址 当客户端调用它时它会中断 Error ChannelFactory Endpo
  • 如何唯一标识会话 0 中运行的 Internet Explorer 窗口?

    我正在创造WCF web services自动化internet explorer 有多个Web服务调用需要访问同一个实例Internet Explorer 然而 自从WCF服务托管于IIS所有对 Web 服务的调用都在会话 0 中执行 现
  • 通过VBScript调用WCF服务

    有一个WCF服务 配置如下
  • 如何为WCF服务添加跨域支持

    我试图允许从托管在 localhost 80 的 javascript 应用程序向托管在不同端口的 WCF RStful 服务发出 POST 请求 但不知何故它不起作用 我尝试将自定义属性添加到标头 以及以编程方式将其添加到我的服务中JSO
  • 无法在 Windows 8 上的 IIS 中提供 WCF 服务

    当我尝试在 Windows 8 计算机中的 IIS 上提供 WCF 服务时 出现众所周知的错误 由于扩展配置的原因 无法提供您请求的页面 如果页面是脚本 请添加处理程序 如果应下载该文件 请添加 MIME 映射 旧的解决方法是运行aspne
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • WCF MaxReceivedMessageSize 属性未采用

    搜索了一下 没有运气 我不断得到 已超出传入消息的最大消息大小配额 65536 要增加配额 请使用相应绑定元素上的 MaxReceivedMessageSize 属性 这是有道理的 所以我进入服务器和客户端配置并进行更改 Client
  • SVCUtil“更新服务参考”等效命令参数

    我想使用 SVCUtil 更新 Visual Studio 2010 解决方案中的服务引用 因为该解决方案有多个项目 并且一一刷新引用并不好 我想知道您的观点 因为我必须确保执行与 Visual Studio 2010 执行的命令完全相同的
  • 以编程方式获取命名管道的系统名称

    我正在使用 WCF NetNamedPipeBinding 编写进程间通信 我的目标是让服务在 net pipe localhost service 上运行 所以我运行最简单的主机 host new ServiceHost contract
  • WCF 服务 Process.Start 在网络服务帐户下模拟不同用户

    我在 IIS Windows Server 2008 R2 中托管了 Wcf 服务 使用带有网络服务标识的 AppPool NET 4 0 我的 Wcf 服务有一个使用 Process Start 调用命令 EXE 的方法 我需要使用不同的
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • WCF 服务调用包装器

    为 WCF 服务调用创建包装器的最佳实践是什么 我认为有必要 为了在同一个地方监视所有呼叫 我正在考虑使用这种代码 这是正确的想法吗 RetType t ServiceExecutionContext

随机推荐