【问题标题】:WCF hosting and port forward issueWCF 托管和端口转发问题
【发布时间】:2012-05-15 08:25:03
【问题描述】:

我是 WCF 技术的初学者。所以我创建了一个简单的 wcf 服务 hello 应用程序。它在我自己的网络中运行良好,但是当我将它托管在我的网络之外的另一台机器上时,我的 wcf 客户端无法连接 wcf 服务。我将我的 wcf 托管在具有静态 IP 但仍然没有运气的机器上。我搜索了谷歌并知道我需要从那台机器路由器转发端口,但不幸的是我无法访问那台机器的路由器。所以请告诉我如何处理这种情况。告诉我什么是捷径,因此我的客户端 wcf 可以连接 wcf 服务器应用程序。

我熟悉网络服务。当我们在远程机器上托管 web 服务时,我们可以从任何远程机器连接 web 服务。不存在这种端口转发问题。

1) 我在远程机器上的 windows 应用程序中托管我的 wcf 服务。windows 应用程序与 wcf 服务一起运行,但客户端无法连接它。如果我在远程机器的 IIS 中托管 wcf 服务,那么我还需要在远程机器上转发端口吗?

关于 wcf 托管,我的概念不清楚。所以请告诉我什么时候需要为 wcf 服务转发端口。

2) 我在win应用或win服务中托管wcf服务时需要转发端口吗? 3) 我在 IIS 中托管 wcf 服务时是否也需要转发端口?

4) 当 wcf 服务第一次在远程机器上运行时,有什么方法可以从我的 win 应用程序中调用例程,该程序将以编程方式转发端口。

请详细讨论我的所有观点,谢谢。

【问题讨论】:

    标签: c# wcf portforwarding


    【解决方案1】:

    您需要 IIS 服务器(Web 服务器)来托管 WCF 服务。就像您可以从 Internet 打开网站一样,您需要能够打开 WCF 服务。如果它被托管在 HTTP 中,IIS 服务器应该这样做。它需要自己的地址和端口。您还可以在 WCF 中使用 TCP 连接。首先,您需要一个网络服务器并将示例网页添加到该服务器并从您的端查看该网页,然后将服务部署到 IIS 服务器并对其进行配置。您需要访问该服务器以配置启动/重新启动 WCF 服务。它就像一个网页。

    它应该像http://somewebsiteaddress234234.com:234242344/YourServiceName1.svc一样工作

    http://address:port/servicename.svc

    【讨论】:

    • You need IIS server (web server) to host WCF service 不是“必须”。
    • 确实如此。在基础层面,IIS 应该做的。在高级服务中,您不需要 IIS。
    • 如果我在 IIS 中托管我的服务,但不在端口 80 中,而是在我的自定义端口(如mysite.com:5001/YourServiceName1.svc)中,那么我是否需要在机器路由器上打开并转发该 5001 端口,服务将在其中运行网络服务器。请告诉我。
    • 你真的不需要弄乱端口。如果路由器允许该端口,它就允许该端口。如果您可以使用该 url 看到您的 WCF 服务,则该端口允许通过路由器。如果您没有看到该 WCF 网站,则需要允许该端口。
    • 我需要在这里提到什么端口。比如address:port/servicename.svc端口号是什么
    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    相关资源
    最近更新 更多