问题描述
|
我已经构建了一个ASP.NET MVC 3 Web应用程序(带有独家Razor / cshtml页面),并且可以在具有IIS Express的本地计算机上正常运行。现在,我试图将其发布到运行Windows Server 2003和IIS 6的远程服务器上,并且该服务器刚刚升级到.NET Framework 4.0。
我能够使用Visual Studio 2010的“发布”对话框(发布方法:FTP)将所有文件成功发布到远程服务器上的正确目录中,并且我已经按照说明包含了运行ASP所需的所有DLL。尚未安装.NET MVC的计算机上,但现在我几乎陷入了困境。
第一个问题是我无权访问远程服务器的IIS。我也许可以让托管公司添加虚拟目录或更改设置,但是我不确定他们知道自己在做什么,目前,我不知道该告诉他们什么。无论如何。
第二个问题是,我需要我的Web应用程序驻留在现有网站内(该Web应用程序基本上是主网站的受保护成员区域)。因此,假装主站点是http://www.foobar.com。我希望通过输入URL http://www.foobar.com/members来访问我的Web应用程序。
问题
是否可以在不访问远程服务器的IIS的情况下发布我的Web应用程序?
如果没有,我到底要告诉托管公司添加或更改IIS中的什么?
项目属性的“ Web”选项卡下的设置会影响发布还是仅影响本地调试?目前,我已将其设置为使用IIS Express,并且项目URL为\“ http:// localhost:7373 / \”。我需要更改这些吗?
假设远程服务器运行的是Windows Server 2003和IIS 6.0,是否可以使用Web Deploy还是仅限于FTP?
如果可以使用Web Deploy,我应该在服务URL中输入什么?我现在所拥有的只是一个URL格式为ftp://www.foobar.com/www的用户名和密码。
如果我需要使用FTP,将必要的文件上传到ftp://www.foobar.com/www/members后,我需要采取什么步骤才能使该应用程序正常工作?我不担心数据库,安全证书,注册表,GAC等,我只想知道在放置http://www.foobar时启动我的Web应用程序主页的必要步骤。 com / members。
解决方法
您是否看过Scott Hanselman的这篇文章?
除了该文章以外,请在与您几乎相同的环境下阅读StackOverflow上的以下线程。
编辑
第一步应该是让托管公司使用以下参数(IIS 6)来设置虚拟目录:
ASP.NET版本:4.0.30319(或更高版本)
本地路径:[主网站的根ftp路径] \\成员
[]脚本源访问(未选中)
[x]读取(选中)
[]写入(未选中)
[]目录浏览(未选中)
[x]日志访问(已选中)
[x]将此资源编入索引(选中)
申请名称:会员
执行权限:仅脚本
应用程序池:ASP.NET 2.0