【问题标题】:IIS Website Application doesnt work anything but port 80IIS 网站应用程序除了端口 80 之外什么都不能工作
【发布时间】:2017-12-08 15:54:42
【问题描述】:

我在 Visual Studio 2017 中编写了一个 WCF 服务。然后我将此服务添加到 IIS(不是快速版本,而是完整的 IIS)。它作为应用程序添加到默认创建的网站下。我可以在http://localhost/<websitename>/MyService.svc/test/123 毫无问题地访问我的服务端点。 /test/123 只是一个简单的 GET 端点。

默认网站已配置为端口 80。

但是,当我将端口从 80 更改为 1234 时,它不起作用。当我点击/test/123 端点时,它只会返回我"Service Unavailable. HTTP Error 503."

我已经执行了控制台命令将端口添加到 ACL netsh http add urlacl url=http://+:1234/ user=everyone

有谁知道我怎样才能让另一个端口(非 80)工作?

编辑: 我知道有一个答案How to run WCF service on a specific port 解释了如何绑定到另一个端口。但是,接受的答案使用 net.tcp 协议。我想使用 HTTP 协议。

有什么方法可以使用 HTTP 协议吗?如果做不到,那我想我得重新设计并换成 net.tcp 协议了。

我对 .NET 开发和 WCF 非常陌生,因此希望有经验的人可以为我指明正确的方向。

【问题讨论】:

  • 这里的答案有效吗? stackoverflow.com/questions/8514766/…
  • 有很多可能的解决方案。首先,您是否检查了本地防火墙?尝试将其关闭。
  • 那个链接,那个答案,谈论使用 net.tcp 协议。我目前正在使用 http - 以便可以通过浏览器访问端点。不需要使用 net.tcp 协议将是非常优先的。有没有办法继续使用 http 协议但将其映射到另一个端口?当使用 IIS Express 时,它会将自己映射到某个随机的 http 端口(例如:55765)。给这个,尽管托管在 IIS 中,它应该是可行的。

标签: c# asp.net wcf iis networking


【解决方案1】:

事实证明,问题与所谓的链接答案无关。

在 IIS 中运行我的 WCF 服务之前,我尝试将其部署为 WAS,然后是控制台应用程序。在让这 2 个实现工作的过程中,我必须执行命令 netsh http add urlacl url=http://+:1234/ user=everyone 以便可以访问端口。

幸运的是,我偶然发现了这个链接: https://serverfault.com/questions/666976/service-unavailable-if-i-try-to-access-iis-website-via-ip-address-works-fine-vi

虽然没有公认的答案,但 cmets 持有答案。我的问题正是因为我执行了netsh 命令引起的。发生的情况是该命令导致该 ip/port 被保留,因此 IIS 无法附加到该 ip/port,因此出现Service Unavailable 错误。我假设如果 WAS 和控制台版本需要执行该命令,那么 IIS 版本也需要它。

至于让 IIS WCF 服务在任何其他端口上可用,过程非常简单。在 IIS 本身内(在运行中执行“inetmgr”以启动),在您创建的默认或自定义网站中,编辑绑定并将 HTTP 端口更改为您想要的任何端口。在那之后,它就完成了。您应该能够通过 HTTP 从该端口访问您的应用程序/网站。 例如: http://localhost:<some port>/<websitename>/MyService.svc/test/123

我的 WCF 服务配置是允许 HTTP 访问的标准配置。

如果您想从另一台计算机或互联网访问它,那么您需要将路由器配置为端口转发您选择的端口(如果需要)并确保您的防火墙允许该端口的数据流。

非常感谢那些认为这是重复的投票者。您的“帮助”有助于找到问题的解决方案。

【讨论】:

    猜你喜欢
    • 2012-06-27
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2020-12-12
    • 1970-01-01
    相关资源
    最近更新 更多