【问题标题】:Deploy/Publish Silverlight application in LAN在 LAN 中部署/发布 Silverlight 应用程序
【发布时间】:2012-05-15 16:46:29
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: wcf silverlight entity-framework deployment publish


    【解决方案1】:

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

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

    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 的意义在于它永远不会改变,正是为了达到目的。

    【讨论】:

    • 非常感谢您的回答......我有一个问题......它是否必须连接到局域网才能获得我们电脑的静态 IP......如果没有局域网,我们的电脑就没有IP吗?这是真的吗?
    • Pritesh,我不太明白你在问什么,但我认为这不是问题,我更新了答案以澄清你的疑问。
    • 假设我没有静态 IP...因为我使用的是动态 IP 而不是我应该做什么?有什么方法可以使用 PC 名称,例如 James-PC 而不是 IP?非常感谢您的回答
    • 是的,您可以这样做,Windows 会发现与该计算机名称关联的 IP。这就是现实生活中网站的工作方式,您在浏览器中提供 DNS 名称而不是 IP。我想你也可以像这样使用来自互联网的服务,因为你在你的主机文件中定义了一个 DNS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多