1

我使用SilverLight5.0 + Entity Framework + WCF + VisualStudio 2010.NET 4.0开发了一个简单的数据库应用程序构建。

数据库和应用程序位于我的个人 PC 中(连接在 LAN 中)。

现在我要求这个应用程序应该可以通过局域网中的任何计算机访问。

局域网中的任何计算机都可以通过我开发的应用程序插入、更新或删除位于我个人 PC中的数据库中的数据,我必须遵循的简单步骤......请帮助我......

4

1 回答 1

3

好吧,您只是在问如何托管您的 WCF 服务,网上有大量材料或任何像样的 WCF 书籍。您有多种选择,从简单的自托管、Windows 服务或 IIS。以上述任何一种方式托管 WCF 服务一点也不复杂。值得一提的是,由于您在 LAN 上,因此您应该认真考虑,netTcpBinding因为它比其他绑定具有可观的性能提升,并且您无需担心打开特定端口,因为您在 LAN 上。

例如,您可以在 IIS 的 8085 端口上在 LAN 中托管服务,主机具有本地 IP,例如192.68.1.51,现在网络中的计算机(在 LAN 上,例如 192.168.6/.7.9/等)可以通过在本地引用服务来使用服务,例如:

http://192.168.1.51:8085/MyService/TheService.svc

现在,在 IIS 中托管并拥有静态 IP(公共 IP)的好处是您还可以通过 Internet 使用该服务,因此 LAN 外部的计算机可以使用这样的地址使用该服务(如果您的公共 IP 是 22.175.例如 194.56):

http://22.175.194.56:8085/MyService/TheService.svc

为此,您只需在 LAN 路由器上创建一条规则,将通过端口 8085 的流量转发到服务主机的本地 IP (192.168.1.51),这可以在 NAT 下的路由器虚拟服务器上的某处进行配置.

显然,如果主机的 IP 发生变化,您需要将新的 IP 地址引用到本地和外部客户端,但静态 IP 的意义在于它永远不会改变,这正是目的。

于 2012-05-15T18:34:42.977 回答