gpt4 book ai didi

web-services - 如何将 Web 服务从 Visual Studio 发布到 IIS?

转载 作者:行者123 更新时间:2023-12-03 10:29:36 24 4
gpt4 key购买 nike

我用 C# 编写了一个 WCF Web 服务。我最初是自托管它,然后决定在我的 PC 上本地运行的 IIS 上托管它。在服务运行时,部署过程中有几个方面我不明白:

首先,该服务在 IIS 中托管时的 URL 与我在 web.config 中指定的不对应。我在那里指定了“http://localhost:8000/MyServices/OrderService ”,这是我自托管时使用的。现在我已经部署到 IIS,URL 变成了“http://localhost/MyServices/OrderService”。为什么没有从我的配置文件中提取 URL?

其次,为了托管 Web 服务,我在 IIS 中创建了一个新网站(除了现有的“默认网站”)。我将物理路径设置为 c:\inetpub\wwwroot(不知道这是否正确)并将其他参数保留为默认值。然后我将我的/bin 文件夹、我的 .svc 文件和我的 web.config 复制到这个文件夹中。这是否相当于“虚拟目录”?

最后,直到(在 IIS 中)我选择了“转换为应用程序”后,该服务才开始工作。为什么需要选择“转换为应用程序”?

谁能解释一下将简单的 Web 服务从 Visual Studio 发布到 IIS 的正确过程是什么,或者向我指出一些好的文档以便我了解该过程?

****编辑为原文*****
花了更多的时间研究这个,我发现了以下几点:

  • 当我在 IIS 中创建网站时,我给它一个物理目录 c:\inetpub\wwwroot....etc
  • 如果我然后从 Visual Studio 中“发布”,它所做的就是将所有必需的文件(如/bin 目录、web.config 和 .svc 文件)复制到网站的物理目录中,即 - c:\inetpub\wwwroot ...

  • 您可以手动执行复制以达到相同的效果。
  • 最后,关于我的服务的 URL 与我的 web.config 文件的 baseAddress 部分不对应,这是 answered on stackoverflow previously .

  • 答案是在 IIS 上托管时完全忽略了 baseAddress。

    最佳答案

    如果使用 Visual Studio 2010,您可以右键单击该服务的项目,然后选择 properties .然后选择 Web标签。下Servers部分您可以配置 URL。还有一个按钮可以创建虚拟目录。

    关于web-services - 如何将 Web 服务从 Visual Studio 发布到 IIS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5818983/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com