我刚买了一台新的Windows Server 2003机器,我一直试图让Nerd Dinner进入它。服务器已经有.NET 3.5 SP1,ASP .NET MVC等。
当我通过FTP将书呆子晚餐上传到主网页的子目录时,当我去网站中的任何页面时,我得到404,除了根目录和主页没有事件显示地图。
例如,当我转到about页面时,我会收到以下IIS日志条目:
2009-08-13 17:56:10 128.200.123.118 GET / nerddinner / Home / About - 80 - 128.200.123.89 Mozilla / 4.0 +(兼容; + MSIE + 8.0
<snip
&gt;)404 0 3
我非常困惑,因为这是Codeplex的Nerd Dinner的新下载和编译副本。
如果它有帮助,这里是失败的尝试获取地图JavaScript的日志条目(注意完全没有“/ nerddinner”):
2009-08-13 18:03:05 128.200.123.118 GET /Scripts/Map.js - 80 - 128.200.123.89 Mozilla / 4.0 +(兼容; + MSIE + 8.0
<snip
&gt;)404 0 3
我有一种强烈的感觉,我应该能够在asax.cs文件中解决这个问题,但即使在将“nerddinner /”附加到前面之后我也无法完成它。
有关正在发生的事情的任何想法?
编辑:我将其上传到网络文件夹的根目录,然后404继续。
编辑2:感谢您的建议。我按照说明操作,现在我没有404。但是,还有两个主要问题:
描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并适当修改配置文件。
和一行显示为"<connectionStrings configSource="ConnectionStrings.config" />
的红色。除了服务器上不存在ConnectionStrings.config,因此根据VS它不是一个重要文件,因此,我不知道是什么错误是指。
(快速搜索我的本地硬盘会显示一个没有任何内容的ConnectionStrings.config文件)
编辑3:
现在,当我去观看晚餐时,我认为我得到了相当于SQL Server 404的程度......
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)
总结帮助其他人在IIS6上运行ASP.NET MVC,特别是书呆子晚餐:
为您的设置填写正确的连接字符串。就我而言,我是指通过IP地址和使用SQL Server 2005的服务器,所以我的连接字符串是:
<add name="NerdDinnerConnectionString" connectionString="Data Source=128.200.123.118; Initial Catalog=NerdDinner; Integrated Security=SSPI" providerName="System.Data.SqlClient.SqlConnection"/>
答案 0 :(得分:4)
你在IIS6上运行吗?如果是,您将需要修补路由表以考虑.ASPX扩展,IIS6或多或少需要。
Phil Haack有一个很好的演练来解释这个过程。他还解释了在没有.ASPX扩展的情况下你可以做到的方法:答案 1 :(得分:3)
脚本和内容文件夹没有 正确映射。我得到404s 引用那些文件 文件夹。
在ASP.NET MVC文件中,不会像在ASP.NET中那样将一对一映射到URL。相反,路由表中的匹配将GET或POST请求从浏览器转移到其中一个控制器中的控制器方法。从那里,控制器(明确地或按照惯例)决定显示哪个视图。
期间发生错误 处理配置文件 需要为此请求提供服务。 请查看具体错误 详情如下并修改您的 配置文件适当。
ConnectionStrings.config需要存在于服务器上,因为它在web.config中被引用。它是一个包含文件,因此不一定必须包含任何内容。但如果它被引用,它需要包含在服务器上,所以只需用你的FTP程序将它复制到那里。