0

我可以通过以下方式从浏览器或其他应用程序(例如 Windows 窗体应用程序)连接到我的 Web API 应用程序:

http://localhost:28642/api/inventoryitems/GetAll

...但是我怎样才能让其他人(在同一网络上)可以使用 localhost,以便他们可以进行这些相同的 REST 调用?

是否只是他们连接到我的机器的问题,如下所示:

http://platypus:28642/api/inventoryitems/GetAll

...如果是这样,我该怎么做才能使其可访问(如果有的话)?

无论如何,我真的不想一直在我的机器上运行我的 Web API 应用程序,所以:如何设置它以便它可以 24/7 全天候运行而无需我启动/照看它?

Azure 网站会是一个有效的选择吗?

更新

可能是(根据我在这里读到的)改变 applicationhost.config :

<site name="HandheldServer" id="20">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/"  physicalPath="C:\HandheldServer\HandheldServer" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:28642:localhost" />
      <binding protocol="http" bindingInformation="*:28642:platypus" />
      <binding protocol="https" bindingInformation="*:44300:localhost" />
    </bindings>
</site>

...对此:

<site name="HandheldServer" id="20">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\HandheldServer\HandheldServer" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:28642:localhost" />
      <binding protocol="http" bindingInformation="*:28642:platypus" />
      <binding protocol="http" bindingInformation="*:28642:" />
      <binding protocol="http" bindingInformation=":28642:" />
      <binding protocol="https" bindingInformation="*:44300:localhost" />
    </bindings>
</site>

...将使其可用(但是,我必须运行它,还是 IISExpress 在后台启动它?)

据推测,第一个条目可能已经使其可用。我不知道前面的 * 是否是必要的,所以我有一个有和没有它的条目。

4

1 回答 1

1

你有选择:

  • 购买 Rasperberry Pi 以运行独立的服务器/服务而不是您的机器
  • 买个VPS
  • 打开路由器上的防火墙端口
  • 使用您的智能手机(是的,有可能)
  • 更改您的主机文件(windows、linux、mac)

没有奇迹;)

于 2014-01-30T22:01:28.243 回答