如何在本地IIS7服务器上运行(调试)WCF REST服务应用程序

时间:2012-02-15 20:11:32

标签: visual-studio wcf visual-studio-2010 iis iis-7

正如问题所说,我在本地IIS上运行Web应用程序时遇到问题。

以下是我的情况:

  • 了解在Linux Ubuntu上运行的Oracle VM VirtualBox。
  • 桥接适配器,以便Windows框从我的路由器获取本地IP。
  • Visual Studio 2010 + sp
  • 项目模板的WCF REST服务应用程序插件
  • 使用visual studio开发服务器(在localhost上)时,应用程序会运行。
  • 目标框架是v4.0

我需要的是应用程序在IP上运行而不是在localhost上运行(所以我可以在局域网中的远程计算机上使用它),所以我配置了IIS7。

这是IIS配置:

  • 我创建了一个目标框架v.4.0的网站
  • 我将网站绑定到端口80上的本地IP
  • 该站点的路径是/ inetpub / wwwroot iisstart.htm作为默认文档
  • IIS运行正常。如果我打开“http:// my_local_ip”,我会收到欢迎徽标。

问题出在视觉工作室。

当我转到项目属性“Web”部分并选择本地IIS而不是vsd服务器是我迷路的地方。如果我将“Project URL”设置为“http:// my_local_ip / some_name”,Visual studio会抱怨它无法找到IIS服务器,因此无法创建虚拟目录。我尝试在IIS管理器中手动添加虚拟目录,但没有效果。如果我使用“http:// localhost / some_name”作为“项目URL”,则会创建虚拟目录,但它没有意义吗?

有人可以赐教我吗?

1 个答案:

答案 0 :(得分:2)

  

如果我使用“http://localhost/some_name”作为“项目URL”,则会创建虚拟目录,但它没有意义吗?

我认为你在这里混合了两件不同的东西。当您要求VS将localhost用作项目的IIS服务器时,它将连接到本地IIS以执行配置任务。如果您要求VS使用“my_local_ip”,则告诉VS您的IIS服务器是远程的,因此VS将使用远程管理来配置IIS(VS无法知道my_local_ip是本地计算机)。

但是在默认的WinServer框中未启用远程IIS管理。此外,它需要一些额外的网络配置。因此,您应该告诉vs使用本地服务器。

实际上,IIS站点绑定和VS部署参数完全不同。因此,请在http://localhost/your_site上部署您的网站。

但是,我真的不喜欢使用VS调试部署来部署真正的应用程序。该目录将包含您的所有项目文件......您应该:

  1. 在IIS管理器上创建您的站点并设置虚拟目录。
  2. 要么
    • 要求VS将站点发布到目录(您的虚拟目录)
    • 要求VS发布WebDeploy包,然后让IIS管理员导入该包。