我试图让我的服务器运行 .cshtml 文件。使用 WebMatrix 3,我可以通过右键单击并选择“在浏览器中查看”来查看页面,但通过本地机器端口查看。如果我尝试从 Internet 访问这些页面,则会收到 500 错误。
这是我所做的:
- 我确保已安装 MVC 3(但我一直在阅读 .cshtml 不需要 MVC ......无论如何我都确定了。
- 我做了整个“恢复为父”/“恢复为继承”的事情,这在许多博客中都可以找到。
- 我有一段时间收到 404 错误,所以我在 .cshtml 扩展名中添加了 MIME 类型的“text/html”。这解决了这个问题,但只导致了我的 500 错误。
我怀疑这与我的 web.config 文件有关,因为如果我删除该文件,页面将显示,但它读起来像文本。例如(在我能想到的最基本的页面中):
@{
var currentTime = dateTime.Now;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Testing</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
</head>
<body>
The current time is @currentTime .
</body>
</html>
该页面将呈现如下:
@{ var currentTime = dateTime.Now;}
当前时间是@currentTime
。
然而,我对 web.config 文件中应该或不应该包含什么内容一无所知。为这个问题纠结了将近一个月...
这是 web.config 文件中的内容:
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add invariant="System.Data.SqlServerCe.4.0" name="Microsoft® SQL Server® Compact 4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
<appSettings>
<add key="webPages:Version" value="2.0"/>
<add key="webpages:Enabled" value="true" />
</appSettings>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
提前谢谢了。