在许多机器上部署本地Web服务 - 这是正确的策略吗?

时间:2014-06-26 07:34:26

标签: web-services wcf iis unity3d

我想知道向许多用户提供私有Web服务实例的最佳方式,因此用户始终能够连接到他们自己的离线版服务,就像在调试时从可视工作室运行Web服务一样。即使有很多在线教程,我也很难在VS2013中进行设置,但我不确定它是否无法工作,因为它永远不会以这种方式工作。

我已经对我的问题提供了这个深入的解释,因为我不确定我是否会以正确的方式解决这个问题,并希望得到反馈:

背景

我有一个与引擎连接的Web服务。这涉及前端并构建一组用于制作CAD模型的命令。这些命令用于控制第三方CAD软件的API。因此可以看出发动机有两个主要功能 -

  1. 构建CAD的API说明,可以保存以供日后使用

  2. 执行,捕获CAD软件的实例     在同一台计算机上运行并构建模型。

  3. 第二部分仅限于一般公众。只有我们的内部用户才能使用它。但是,他们希望拥有一个完全相同的前端和用户体验。

    问题是,如果它们连接到与主服务器上存在的公共相同的引擎,则引擎将在同一台机器上查找CAD软件包的实例 - 即服务器,正如上面的大胆点所强调的那样。应该发生的是引擎找到在控制UI所基于的机器上运行的CAD实例,并将其用于其目标。我已经谈过CAD API支持,他们说他们不知道如何做到这一点。

    因此,我们得到的解决方案是在每台员工计算机上单独提供我的Web服务的脱机站点。这意味着如果本地主机连接可用,前端将在会话开始时进行检查。如果没有,它将使用主地址,它将它带到我的服务器。否则,它使用本地引擎,该引擎将执行在与自身相同的机器上查找CAD包的默认行为。因为它在本地安装,现在是正确的机器,它将成功找到用户的CAD实例。

    最终要点:

    • 我正在使用的UI无法直接访问引擎 用于前端的Unity3D和.Net兼容性问题。
    • 我需要一个完全自包含的软件版本 无论如何,所以最终我必须处理发动机的问题 本地访问

1 个答案:

答案 0 :(得分:0)

我最终使用IISExpress。我让用户安装了这个,然后让他们调用我制作的批处理文件安装程序,它设置配置文件并将我的web项目移动到正确的目录。