【问题标题】:Accessing WCF service hosted as Windows service over LAN [closed]通过 LAN 访问作为 Windows 服务托管的 WCF 服务 [关闭]
【发布时间】:2014-08-18 04:04:53
【问题描述】:

我是 WCF 服务和 Windows 服务的初学者。我有几个关于作为 Windows 服务托管的 WCF 服务的问题,但我已经阅读了一些来自 MSDN 的文章:

1) 我有一个托管在 Windows 服务中的 WCF 服务,该服务在 LAN 上的一台机器上运行。我想让在同一 LAN 上的其他机器上运行的 silverlight 应用程序使用该服务。我需要在许多 LAN 网络中实现这种架构,即每个 LAN 将有一台运行 Windows 服务的机器,并且同一 LAN 上的其他机器应该能够访问该服务。它是一个可行的架构吗?可能会出现哪些技术问题(例如防火墙设置可能会限制客户端访问服务)?我必须在每个 LAN 的客户端应用程序中进行不同的配置吗?作为旁注,我想提一下,我只想在没有互联网连接的情况下运行该服务。

2) 除了在项目中添加服务引用外,还有哪些方法可以让 LAN 上的客户端使用 Windows 服务中托管的 WCF 服务?

【问题讨论】:

    标签: c# .net wcf service lan


    【解决方案1】:

    1) - 对端点使用 Net.Tcp 绑定。如果客户端和服务器在同一网络上,防火墙将不是问题。 - 客户端配置会有所不同。您需要指向不同的端点来访问 WCF 服务。托管的每个服务都有一个。 2) 您也可以使用 SvcUtil 实用程序在客户端创建代理类。

    【讨论】:

    • 感谢您的回答@user3346013。我仍然有一个问题:您在第 1 点中说过“您需要指向不同的端点来访问 WCF 服务。每个托管服务都有一个。”这是否意味着我必须在 app.config 中进行设置?我可以在不更改每个托管服务的 app.config 文件的情况下以编程方式执行此操作吗?
    • 是的,您也可以通过编程方式执行此操作。希望下面的链接会有所帮助。 [链接](stackoverflow.com/questions/2943148/…)
    • 你能告诉我如何以编程方式做到这一点吗?如果您有任何资源,请提供给我。我基本上想要的是我应该能够在运行时声明端点,例如用户将输入端点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多