2012-02-15 36 views
0

正如问题所述,我在本地IIS上运行Web应用程序时遇到问题。如何在本地IIS7服务器上运行(调试)WCF REST服务应用程序

这里是我的情况:

  • Windows优先的Oracle VM VirtualBox在Linux Ubuntu上运行。
  • 桥接适配器,以便Windows盒从我的路由器获取本地IP。
  • 的Visual Studio 2010 + SP
  • WCF REST服务应用程序插件项目模板
  • 使用Visual Studio开发服务器(在本地主机上),当应用程序运行。
  • 目标框架是4.0版

我需要的是应用程序上运行的IP,而不是在本地主机上(这样我就可以使用它在局域网远程计算机上),所以我配置IIS7。

这里是IIS配置:

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

问题在于visual studio。

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

请问有人请赐教吗?

回答

2
If I use "http://localhost/some_name" as the "Project URL" the virtual directory gets created, 
but it makes no sense does it? 

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

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

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

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

  1. 在IIS管理器上创建您的站点并设置虚拟目录。
  2. 要么
    • 问VS TU发布该网站的目录(虚拟目录)
    • 问VS TU发布WebDeploy包,然后问IIS管理器中导入的包。
+0

谢谢你的解释Eilistraee。然而我不明白你的建议(我在国际空间站是新的)。我在ISS管理器的网页上创建了一个具有别名“service”的虚拟目录,并将物理路径设置为/ inetpub/wwwroot/service。如果我明白,VS应该复制文件到这个目录中,一旦我建立/运行应用程序?那么在VS中,我选择本地IIS和“项目URL”作为“http:// localhost/service”。 VS以某种方式不知道虚拟目录已经创建,并且它无法创建一个...对不起,但我真的从来没有这样做过! – no9 2012-02-16 11:10:24

+0

好吧,我以某种方式创建了虚拟目录,以便VS满意。虚拟目录的详细信息是:我创建了一个文件夹/ inetpub/wwwroot/service并将此文件夹设置为虚拟目录的物理路径。别名是服务。在VS中使用这个不会给我任何错误。但是,当我运行该应用程序VS引发错误:无法启动Web服务器上的调试。 Web服务器找不到请求的资源。我错过了什么? – no9 2012-02-16 11:37:34

+0

确定取得了一些进展。我能够在IIS上发布应用程序。在虚拟目录我现在有bin文件夹,global.asax和web.config。我现在需要的是找出为什么IIS不运行应用程序。目前它要求我设置默认文档或启用目录浏览,但这不是我的目标。 – no9 2012-02-16 18:25:48

相关问题