如何在本地 IIS7 服务器上运行(调试)WCF REST 服务应用程序
正如问题所述,我在本地 IIS 上运行 Web 应用程序时遇到问题。
这是我的情况:
- WIndows 超过在 Linux Ubuntu 上运行的 Oracle VM VirtualBox。
- 桥接适配器,以便 Windows 盒子从我的路由器获取本地 IP。
- Visual Studio 2010 + sp
- WCF REST 项目模板的服务应用程序插件
- 该应用程序在使用 Visual Studio 开发服务器(在本地主机上)时运行。
- 目标框架是v4.0
我需要的是应用程序在IP上运行而不是在本地主机上运行(这样我就可以在LAN中的远程计算机上使用它),所以我配置了IIS7。
这是 IIS 配置:
- 我使用目标框架 v.4.0 创建了一个网站
- 我将该网站绑定到端口 80 上的本地 IP
- 网站的路径是 /inetpub/wwwroot iisstart.htm 作为默认文档
- IIS 运行正常。如果我打开“http://my_local_ip”,我会看到欢迎徽标。
问题出在视觉工作室中。
当我进入项目属性“Web”部分并选择本地 IIS 而不是 vsd 服务器时,我迷失了方向。如果我将“项目 URL”设置为“http://my_local_ip/some_name”,Visual Studio 会抱怨它找不到 IIS 服务器,因此无法创建虚拟目录。我尝试在IIS管理器中手动添加虚拟目录,但没有效果。如果我使用“http://localhost/some_name”作为“项目 URL”,则会创建虚拟目录,但这没有意义,不是吗?
有人可以启发我吗?
As the question says, I have a problem running the web app on local IIS.
Here is my situation:
- WIndows over Oracle VM VirtualBox running on Linux Ubuntu.
- Bridged Adapter so that Windows box gets local IP from my router.
- Visual Studio 2010 + sp
- WCF REST Service application plugin for project template
- The application runs when using visual studio development server (on localhost).
- Target framework is v4.0
What I need is that the application runs on IP instead on localhost (so I can consume it on remote computer in LAN), so I configured IIS7.
Here is IIS configuration:
- I created a website with target framework v.4.0
- I binded the site to my local IP on port 80
- Path to the site is /inetpub/wwwroot iisstart.htm as default document
- IIS runs ok. If I open "http://my_local_ip" I get the welcome logo.
The problem is in visual studio.
When I go to project properties "Web" section and select local IIS over vsd server is where I get lost. If I set "Project URL" to "http://my_local_ip/some_name" visual studio complains that it cannot find IIS server and so it was unable to create the virtual directory. I tried manually adding virtual directory in IIS manager, but no effect. If I use "http://localhost/some_name" as the "Project URL" the virtual directory gets created, but it makes no sense does it?
Could some one please enlighten me?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为你在这里混合了两种不同的东西。当你要求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 调试部署来部署真正的应用程序。该目录将包含您的所有项目文件...您应该:
I think you are mixing two different things here. When you ask VS to use localhost as the IIS Server for your project, it will connect to the local IIS to perform configuration tasks. If you ask VS to use "my_local_ip" you are telling VS that you IIS Server is remote, and therefore VS will use remote administration to configure IIS (VS can't know that my_local_ip is the local computer).
But remote IIS admin isn't enabled on a default WinServer box. Furthermore, it would require some additionnal network config. You should therefore tell vs to use the local server.
In fact, IIS site bindings and VS deployment parameters are too completely different things. So, deploy your site on http://localhost/your_site.
However, I don't really like the prospect of using VS debugging deploy to deploy a real app. The directory will contain all your project files... You should: