为什么我的 MVC 项目发布后无法运行?

2024-03-10

我最近将我的第一个 MVC 2 项目发布到运行 Windows 2008 的商业 Web 服务器,据称该项目可以毫无问题地支持其他 MVC 站点,但遇到了一些问题。这是该项目的高级结构。正如您所看到的,这非常简单:

但是,在发布站点并导航到 URL 后,我收到“HTTP 错误 403.14 - 禁止:Web 服务器配置为不列出此目录的内容”。

因此,我联系了网络主机,并被告知我必须包含一个默认的登录页面,例如 Default.aspx、Index.aspx 等。我怀疑这个响应是否准确,因为我认为 MVC 路由会处理这个问题,但我还是按照建议做了,在 Default.aspx.cs 代码隐藏中添加了到我的家庭控制器的重定向,但收到了 HTTP 错误 404。我根据类似于本文中发现的建议添加了该重定向:http://www.58bits.com/blog/CommentView,guid,10b2ddfa-057c-41d0-bdc7-564b212ce896.aspx http://www.58bits.com/blog/CommentView,guid,10b2ddfa-057c-41d0-bdc7-564b212ce896.aspx.

我已经与网络主机就这个问题反复讨论了一个多星期,得到了大约十几个不同的回应和答案,但我一直无法找到解决方案。我是sure这是一个很容易解决的问题,但我不知道下一步要尝试什么,或者向他们下一步尝试的网络托管支持建议什么。

太棒了……知道 StackOverflow 社区比我聪明,而且我的网络托管公司的支持技术加起来比我聪明一千倍,我希望你能帮助我在这里找到解决方案,这样我就可以成功发布我的项目并无错误地访问它。


有一些原因可能会导致该错误:


MVC 库的问题

The production server might not have the MVC libraries stored in the GAC. To fix this, all you have to do is go into your MVC project's References pane/folder and find System.Web.Mvc, System.Web.Routing, and System.Web.Abstractions. Now, select them by Ctrl clicking on them, and set Copy Local to true in the Properties window.

在发布到服务器之前很难知道是否是这种情况,因此我建议仅将程序集设置为始终复制到本地。


登陆页面

您的目标网页可能有问题。根据我使用 ASP.NET MVC 的经验,我发现 IIS 需要一个登录页面才能正常运行。我正在使用 ASP.NET MVC 2 模板中包含的页面。您应该将我的与您的进行比较,看看您是否拥有所需的一切:

默认.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNamespace._Default" %>

<%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is activated by IIS when a user makes a "/" request to the server. --%>

默认.aspx.cs:

using System.Web;
using System.Web.Mvc;
using System.Web.UI;

namespace YourNamespace
{
    public partial class _Default : Page
    {
        public void Page_Load(object sender, System.EventArgs e)
        {
            // Change the current path so that the Routing handler can correctly interpret
            // the request, then restore the original path so that the OutputCache module
            // can correctly process the response (if caching is enabled).

            string originalPath = Request.Path;
            HttpContext.Current.RewritePath(Request.ApplicationPath, false);
            IHttpHandler httpHandler = new MvcHttpHandler();
            httpHandler.ProcessRequest(HttpContext.Current);
            HttpContext.Current.RewritePath(originalPath, false);
        }
    }
}

权限

根据您获得的第一个 HTTP 状态代码,可能存在权限问题。这包含 MVC 应用程序的文件夹必须定义为应用程序并设置为适当的权限.

通过 IIS 可以很容易地完成这两件事。但是,您可能无权访问 IIS;如果你这样做,你就非常幸运了!

否则,您可以使用以下命令通过 FTP 更改权限chmod命令。您可以通过Filezilla进行连接,Filezilla是一个非常好的开源FTP客户端,只需通过右键单击+对话框即可完成。

至于将文件夹定义为应用程序,您应该检查是否可以通过主机提供给您的任何 IIS 东西来完成此操作。如果没有,请联系他们并要求他们进行设置。


祝你好运!希望我有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 MVC 项目发布后无法运行? 的相关文章

  • 更改 Xamarin 中 ListView 所选项目的背景颜色

    我在 Xamarin 中创建了一个主从类型项目 当我从主页中选择一个项目时 背景颜色默认为橙色 我怎样才能将其更改为我选择的颜色 此问题是 Android 特有的 在 Android 项目中将此行添加到 Resources values s
  • MVVM ViewModel 与 MVC ViewModel

    ViewModel 是一个在 MVVM Model View ViewModel 和 ASP NET MVC 的推荐实现中使用的术语 鉴于每种模式都使用相同的术语 研究 ViewModel 可能会令人困惑 MVC ViewModel 和 M
  • 将此 XML 反序列化为对象的最佳方法

    在我见过的与我的类似的其他示例中 有一个根节点 然后是一个数组节点 然后是一堆数组项 我的问题是 我的根节点is我的数组节点 所以我见过的示例似乎不适合我 而且我无法更改 XML 架构 这是 XML
  • ASP.Net 的最佳免费文件管理器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在单个 Razor 视图中编辑多个模型

    我是 MVC3 的新手 我有多个模型 例如BussinessDetails ContactPerson ServiceArea Address以及更多型号 我有一个单一的视图页面 其中共享视图页面如Contacts BusinessDeta
  • 停止 IResponseCookies.Append() 编码 cookie。 dotnetcore 2.0 [重复]

    这个问题在这里已经有答案了 我们正在构建一个 dotnetcore 2 0 Web 应用程序 该应用程序通过 http 从遗留系统接收 cookie 并在响应中设置 cookie 当我调试应用程序时 我可以看到cookie value未进行
  • ASP.Net:动态添加到占位符的用户控件无法检索值

    我将一些用户控件动态添加到 PlaceHolder 服务器控件中 我的用户控件由一些标签和一些文本框控件组成 当我提交表单并尝试查看服务器上文本框 在每个用户控件内 的内容时 它们是空的 回发完成后 文本框将包含我在回发之前输入的数据 这告
  • Model在MVC中的作用是什么?

    我读过一些有关 MVC 的文章 但有一点我不清楚 该模型在实际中的作用是什么 模型是否代表业务对象 或者它只是一个帮助将信息从控制器发送到视图的类 以两个业务类为例 从数据库填充数据 Class Image Property FileNam
  • IIS Express 停止 Web 应用程序后立即关闭正在运行的站点

    我在使用 Visual Studio 2012 的第一天 当我想停止 IDE 中的应用程序时 应用程序仍在 IIS Express 上运行 我可以浏览和使用正在运行的应用程序 但现在不能了 如果我按下停止按钮 IIS 会立即关闭应用程序 因
  • C# 代码上的 ImageURL 不显示图像

    我在 aspx 页面上有图像
  • 绑定到列表的复杂模型

    我一直在尝试 MVCContrib 中的 NameValueDeserializer 它将采用 IList 作为控制器的参数 并将表单及其元素绑定到它 但我只是想知道 MVC Beta 是否有任何方法可以做到这一点 我知道您可以绑定强类型对
  • 如何以编程方式将 SMTP 服务器详细信息存储(保存)回 web.config

    搜索 StackOverflow 我发现这个问题是关于如何从 Web Config 检索 SMTP 设置 https stackoverflow com questions 2019175 how to programmatically r
  • Web API 的 ASP.NET MVC Core 控制器 PATCH 方法

    给定一个数据库表 Person 包含 3 列 Id 名字和姓氏 使用真实的 DbContext 时 ASP NET Core Web API MVC 控制器方法 PATCH 仅修改姓氏 看起来如何 我根本不知道如何实现它 并且找不到相关教程
  • 将 Repeater Container.ItemIndex 传递给 Javascript 函数

    在 C Asp Net 中 我需要将中继器出现索引传递到 Javascript 函数中OnClientClick从 ASP 按钮按下 这是我的代码
  • ASP.NET Core URL 重写

    我正在尝试将我的网站从 www 重定向到非 www 规则以及 http 到 https https example com https example com 在中间件中 我曾经在 web config 中进行这些重定向更改 例如
  • 避免数据集中出现重复名称

    我正在从表中获取数据并绑定到标签并在 gridview 中下拉 但我想从表中过滤重复的名称并将相应的日期分配给 DDL 如何做到这一点 或者还有其他选择吗 private DataSet get string sql select Id N
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • SimpleMembershipProvider 在 WebSecurity.SignOut 之后不会销毁会话

    我正在使用所有默认成员代码运行 ASP NET MVC 4 AccountController的LogOff的代码是 HttpPost ValidateAntiForgeryToken public ActionResult LogOff
  • ASP.NET Core 会话超时

    我记得我们在 ASP NET 中使用了 session timeout 来更改会话超时 如果不更改 则为 20 分钟 我尝试在 Startup cs 中更改 ASP NET Core 3 1 中的会话超时 但没有任何反应 我对操作员使用身份

随机推荐

  • UICollectionView 中的单元格间距

    如何设置某个部分的单元格间距UICollectionView 我知道有一个房产minimumInteritemSpacing我已经将其设置为 5 0 但间距并未出现 5 0 我已经实现了流出委托方法 CGFloat collectionVi
  • 如何在 PHP 中将 UTF-16 十六进制字符串转换为 UTF-8?

    我有来自 strace 的以下输出 我想使用 PHP 将其转换为 UTF 8 R 00f6dhakev 00e4gen 4 R 00e4ntm 00e4starv 00e4gen 24 K 00d8BENHAVN 我认为上面的字符串是 UT
  • 尝试使用列表迭代器删除对象

    我正在尝试使用列表迭代器从列表中删除对象 我已经浏览了网站上的其他解决方案 但没有一个解决方案可以缓解错误 线程 main java util ConcurrentModificationException 中的异常 这是我未执行的代码 v
  • 如何使用rxjava获取retrofit 2.0中的请求url?

    我正在尝试升级到 Retrofit 2 0 并在我的 android 项目中添加 RxJava 我正在进行 api 调用 并希望检索 url 及其以及 sqlite 中的响应数据作为缓存 Observable
  • 如何在Windows上使用JPL(双向Java/Prolog接口)?

    我对在 Java 中嵌入 Prolog 解释器感兴趣 一种选择是使用JPL http www swi prolog org packages jpl java api index html 但是 JPL 网站上的下载链接已损坏 并且安装页面
  • 从本地源安装 anaconda 库

    一段时间以来 我一直尝试在非常复杂的代理后面的 Windows PC 上安装 pymc 有效地使其安装在未连接到互联网的计算机上 我尝试在 condarc 文件中设置代理但未成功 但仍然收到错误消息 conda安装 chttps conda
  • C# - List 初始容量的用途是什么? [复制]

    这个问题在这里已经有答案了 我正在尝试执行以下操作 int count 50 List
  • 如果用户在特定页面上则显示部分

    如果我有一个包含以下 URL 的页面 http www mywebsite com users profile edit http www mywebsite com users profile edit 仅当用户位于该特定页面上时 如何显
  • 当每个函数返回 deferred.promise 时,如何链接函数数组的执行?

    我已经使用 deferred 模块在 Node js 中创建了我的第一个延迟对象 当我将结果传递给下一个函数并触发解析和拒绝时 它效果很好 当每个函数返回 deferred promise 时 如何链接函数数组的执行 我有类似函数的输入参数
  • Type.GetType(string) 应该了解动态生成的类型吗?

    我有一个使用 CodeDom 编译器创建一些代码的应用程序 我可以看到生成的程序集在内存中 但是当我调用 Type GetType typeName 时 它返回 null 我觉得这有点令人困惑 我究竟做错了什么 static void Ma
  • 如何检测 iPhone 正面朝上放在桌子上时是否正在旋转?

    有没有办法检测面朝上放在桌子上的 iPhone 是否正在旋转 我确实意识到这种运动不会由加速度计报告 也不会报告给 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrienta
  • 将已发送的彩信插入发送箱

    我正在尝试将彩信插入发送的数据库中 但可惜我无法在本机 Android 应用程序中查看它 我的插入代码 ContentValues values new ContentValues values put thread id thread i
  • 如何验证日历中的日期

    我已尝试使用以下代码 我已遵循示例 来测试从日历中选择的日期 如果我的数据库中不存在该日期 则应向最终用户显示验证错误消息 然而 错误并没有以
  • iOS 3 SDK 中 [NSBundle mainBundle] URLForResource:withExtension: 的替代方案是什么

    我正在使用 iOS 4 2 SDK 开发一个 iOS 应用程序 但我希望该应用程序能够在旧设备上运行 例如装有 iOS 3 1 3 的 iPhone 2G 我不知道这段代码的替代方案是什么 NSURL modelURL NSBundle m
  • 如何在 Azure 计算模拟器上配置 Web 角色以像本地 IIS(静态 URL)一样工作

    那么 问题是如何在 Azure 计算模拟器上配置 Web 角色 使其像在本地 IIS 上一样工作 我的意思是 Web 角色具有固定 url 就像您可以在项目属性中设置 使用本地 IIS Web 服务器 并设置固定 url 一样 如何将 Az
  • javascript:将参数传递给对象构造函数

    我正在编写一个jquery lib 我需要实现日期时间函数 我需要创建一个 Date 函数 它返回一个新的 Date 对象 如何将 Date args 函数的参数传递给 Date 对象构造函数以创建新的日期对象 我尝试了这样的方法 me是插
  • 导入不带 .py 扩展名的 python 模块,[重复]

    这个问题在这里已经有答案了 我同意有类似的问题 但没有一个符合我的目的 我有一个 python 脚本 没有 py 扩展名 我既不能更改文件名也不能添加符号链接 文件名很重要 我需要将上述文件导入到另一个python脚本中 我尝试过以下方法
  • ActionSheet 的工具栏问题

    我有以下示例代码 import SwiftUI struct ContentView View var body some View NavigationView NavigationLink destination DetailViewT
  • Oracle 存储过程中记录错误消息

    我们计划使用 Oracle DBMS 调度程序包将存储过程配置为每天作为批处理作业运行 我们想知道发生错误时记录错误消息的最佳方法是什么 是否可以选择记录到临时表 或者有更好的选择 提前致谢 登录临时表可能是一个很好的解决方案 例如 您可以
  • 为什么我的 MVC 项目发布后无法运行?

    我最近将我的第一个 MVC 2 项目发布到运行 Windows 2008 的商业 Web 服务器 据称该项目可以毫无问题地支持其他 MVC 站点 但遇到了一些问题 这是该项目的高级结构 正如您所看到的 这非常简单 但是 在发布站点并导航到