2014-10-01 66 views
0

我作为一名C#开发人员工作,我们使用了许多.NET Web服务。我正在做一些在家开发,并想做类似的事情。我在运行安装了IIS 8的Windows Server 2012的家用PC上有一个数据库(SQL Server 2012)。我在Visual Studio(C#)中创建了一个WCF Web服务,并将其编译为一个.svc文件。这只是简化了我的SQL Server数据库和我写的应用程序之间的数据交换。如何通过Internet托管WCF Web服务?

我不熟悉如何托管WCF服务,以便我正在编写的Windows窗体应用程序将安装在许多非本地计算机上都可以访问它。我想WCF服务将是通过互联网访问WinForm应用程序数据库的最佳选择。

我也有一个基本的Windows软件包的域名,如果有帮助,可以使用1 & 1.com。

任何人都可以给我一些步骤让我的WCF服务托管,因此它可以通过互联网访问?请问我是否忘记列出所需的信息。

回答

1

两种常见的方法是从IIS托管您的WCF服务,或者从一个简单的包装程序中自行托管它,作为TCP服务器。

http://msdn.microsoft.com/en-us/library/ee939285.aspx

最简单的方法是设置IIS和刚刚发布的服务,就像您的Web应用程序;您的服务将通过http/https公开。根据您的安全需求,使用适当的绑定,如wsHttpBinding或BasicHttpBinding。阅读以了解不同的绑定以及每个绑定和不支持的绑定。

为了通过IIS托管WCF,至少在Windows Server 2003和2008上,请确保遵循安装步骤,例如在旧版平台上添加.NET 3.5.1/WCF选项。我相信Server 2012将它包含在.NET 4框架内,但我还没有在2012年完成它。

谷歌“WCF托管IIS”的步骤/设置指南。

也有托管服务提供商,专门提供WCF托管解决方案,但我非常确定您的当前提供商,因为它支持IIS,应该没问题。

+1

他可能需要比这更多的一点......比如如何确定外部IP地址,打开防火墙端口等等 – Mick 2014-10-01 02:17:23

+0

@Mick - 当然,但以上是我愿意提供的这个设置。随意编辑我的答案并添加到它,或添加您自己的答案。 – codenheim 2014-10-01 02:24:07