【问题标题】:Hosting WCF web service from a Remote Server从远程服务器托管 WCF Web 服务
【发布时间】:2013-05-26 21:15:47
【问题描述】:

我有一个WCF Webservice 项目,内置在我的本地计算机中,当使用测试客户端托管并触发时,它以JSON 格式从远程数据库返回值。

例如,如果您使用 localhost 输入 URL,那么您将返回以下格式的结果:

{"Id":3,"Value1":"67.5687","Value2":"126.7125"}

我想将此项目托管在具有公共 URL 的远程服务器上,该 URL 应该从任何网络返回上述结果。我对此有 3 个问题:

** 我应该对当前的 WCF 项目进行哪些修改以将其托管在远程服务器上。

** 考虑到各种类型的托管,例如:

1) windows process activation services (WAS)
2) IIS
3) Self hosting
4) Hosting in a Windows service,

哪种类型的主机最适合在远程服务器上托管。

** 我应该在我的 App.Config 文件中进行哪些更改(包括将我的端点地址从 localhost 更改为 IP 地址)以使服务正常工作。

谢谢。

【问题讨论】:

    标签: asp.net visual-studio-2010 wcf iis wcftestclient


    【解决方案1】:

    1) 您不应该仅仅因为您想在另一台机器上托管代码而对您的项目进行任何更改。我觉得这是一个奇怪的问题。

    2) 鉴于您选择 JSON 作为数据格式并选择浏览器作为测试客户端,我猜您希望使用简单的 GET 请求通过 HTTP 使其可用。在 Microsoft 堆栈中,IIS 是 Web 服务器,是此场景的自然选择。

    3) 很难回答。我不知道你的 app.config 今天有什么。我不知道您是否要进行身份验证,如果要如何进行。而且我不想知道!也就是说,在我看来,如果一切都应该像在您的开发盒上那样运行,那么绑定已经没问题了。我不记得 WCF 服务是否需要知道它本身所在的端点(很难理解为什么它需要知道这一点,真的);我会认为在主机上进行这样的配置更自然,例如IIS。 client 当然应该使用不同的端点指向你托管服务的任何地方。 (您可以在 app.config 中放置许多端点,让用户选择一个,顺便说一句。)

    我认为我们大多数人时不时会违背以下建议,但这是我能给出的最好建议:读一本书。尽可能多地了解您正在使用的东西,在本例中为 WCF。稍后您会找回时间,并且您的软件不会那么糟糕!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 2011-09-18
      相关资源
      最近更新 更多