【问题标题】:Publish WCF Service app on IIS Express using Web Deployment使用 Web 部署在 IIS Express 上发布 WCF 服务应用程序
【发布时间】:2011-04-18 14:14:09
【问题描述】:

我想在 IIS Express 上发布在 Visual Studio 2010 中创建的 WCF 服务应用程序。

所以我使用的是项目 -> 发布 -> 网络部署:

Service URL: http://localhost
Site/application: wcf

但遇到了一些误解:

  • Web 部署需要一个虚拟目录,它不想在站点根目录中发布
  • IIS Express doesn't support 虚拟目录

我怎样才能完成任务?

【问题讨论】:

    标签: .net wcf web-deployment iis-express


    【解决方案1】:

    您可以使用 appcmd 通过命令行添加虚拟目录:

    appcmd add vdir /app.name:<site_name>/ /path:/<virtual_directory> /physicalPath:<physical_location> 
    

    here

    【讨论】:

    • 如何在c:\WcfService1WcfService1现场创建vdirwcf
    • 如果您已有名为 WcfService1 的站点,则命令为:appcmd add vdir /app.name:WcfService1/ /path:/wcf /physicalPath:c:\WcfService1
    • 我也试过了,得到:ERROR ( message:Cannot find APP object with identifier "WcfService1/". )
    • 表示名为WcfService1的站点不存在
    • 你确定需要安装在WcfService1站点下吗?要在默认站点中安装,您可以使用以下命令:vdir /app.name:"Default Web Site"/ /path:/wcf /physicalPath:c:\WcfService1。要创建一个新站点,您可以使用:appcmd add site /name:WcfService1 /id:2 /physicalPath:C:\WcfService1 /bindings:http/*:8080(此站点将侦听端口 8080
    【解决方案2】:

    您应该能够在站点属性 -> 打包/发布 Web 中指定您的网站/应用程序的目标。 在“要在目标服务器上使用的 IIS 网站/应用程序名称”字段中输入站点名称。默认情况下,应用程序被指定为虚拟目录,但并非必须如此。您可以将站点名称放在那里,不带“/”,然后它将部署到站点的根目录,而不是虚拟(子)目录。见截图:

    【讨论】:

      【解决方案3】:

      IIS Express 确实支持虚拟目录。使用 'Eugene' 提供的 appcmd 命令应该可以工作。

      【讨论】:

        【解决方案4】:

        首先,您需要指定正确的服务 URL,即http://server/MsDeployAgentService

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多