从远程服务器托管WCF Web服务

时间:2013-05-31 06:03:16

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

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

例如,如果您使用localhost键入URL,那么您将获得以下格式的结果:

{"标识":3,"值1":" 67.5687""值2":" 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地址)以使服务正常工作。

感谢。

1 个答案:

答案 0 :(得分:1)

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

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

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

我认为我们大多数人时不时地反对以下建议,但这是我能给出的最佳建议:读一本书。尽可能多地了解您正在使用的东西,在本例中为WCF。你稍后会得到时间,而你的软件会更糟糕!