【问题标题】:Publish ASP.NET MVC 3 (Razor) app onto remote server running Windows Server 2003 with IIS 6将 ASP.NET MVC 3 (Razor) 应用程序发布到运行带有 IIS 6 的 Windows Server 2003 的远程服务器上
【发布时间】:2011-09-01 11:07:15
【问题描述】:

我已经构建了一个 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。我也许可以让托管公司添加虚拟目录或更改设置,但我不确定他们知道自己在做什么,目前我不知道无论如何要告诉他们什么。

第二个问题是我需要我的网络应用程序存在于内部现有网站(网络应用程序基本上是主网站的受保护成员区域)。所以,假设主站点是http://www.foobar.com。我希望通过输入 URL http://www.foobar.com/members 来访问我的网络应用程序。

问题

  1. 是否可以在不访问远程服务器的 IIS 的情况下发布我的 Web 应用程序?
  2. 如果不是,我需要告诉托管公司在 IIS 中添加或更改什么?
  3. 项目属性的 Web 选项卡下的设置会影响发布还是仅影响本地调试?目前,我将其设置为使用 IIS Express,项目 URL 为“http://localhost:7373/”。我需要更改这些吗?
  4. 鉴于远程服务器运行的是 Windows Server 2003 和 IIS 6.0,是否可以使用 Web Deploy 或者我是否仅限于 FTP?
  5. 如果我可以使用 Web Deploy,我应该为服务 URL 设置什么?我现在只有ftp://www.foobar.com/www 格式的 URL 以及用户名和密码。
  6. 如果我需要使用 FTP,将必要的文件上传到ftp://www.foobar.com/www/members 后,我需要采取哪些步骤才能使应用程序正常工作?我不担心数据库、安全证书、注册表、GAC 等,我只想知道当我输入http://www.foobar.com/members 时让我的 Web 应用程序主页出现所需的步骤。

【问题讨论】:

    标签: asp.net asp.net-mvc iis asp.net-mvc-3 iis-6


    【解决方案1】:

    您看过 Scott Hanselman 的 this 文章吗? 除了那篇文章,请在与您几乎相同的环境中阅读 StackOverflow 上的以下 thread

    编辑

    您的第一步应该是让托管公司使用以下参数(IIS 6)设置虚拟目录:

    • ASP.NET 版本:4.0.30319(或更高版本)

    • 本地路径:[主网站的根 ftp 路径]\Members

    • [ ] 脚本源访问(未选中)

    • [x] 读取(选中)
    • [ ] 写入(未选中)
    • [ ] 目录浏览(未选中)
    • [x] 日志访问(选中)
    • [x] 索引此资源(选中)

    • 应用程序名称:成员

    • 执行权限:仅限脚本

    • 应用程序池:ASP.NET 2.0

    【讨论】:

    • 是的。我认为我在这方面工作正常。我被困在实际的发布部分以及如何处理 IIS。
    • 你现在得到了什么?你说你部署了它,并没有真正告诉我们你正在经历什么。我看到的唯一问题可能是 URL 重写,您可以通过查看这篇 (haacked.com/archive/2008/11/26/…) 文章来解决。基本上是在你的路由中指定一个扩展。
    • 好吧,如果我输入“foobar.com/members”(为了解释,这是一个假 URL),我会得到 Directory Listing Denied。 (但我认为这是有道理的,因为我没有在 IIS 中设置虚拟目录,因为我无权访问 IIS,而且我不知道如何让 web 部署工作)。
    • 他们需要为您设置一个虚拟目录。如果您无权访问各种控制面板,则必须创建它。让我们从那里开始,除非其他人对他们的经历有更详细的描述。
    • 那么,你是说我不能进行 Web 部署?
    猜你喜欢
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2011-04-15
    • 2011-06-25
    • 2014-05-30
    • 2013-01-26
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多