我正在尝试让我的服务器运行.cshtml文件。使用WebMatrix 3我可以通过右键单击并选择“在浏览器中查看”来查看页面,但是可以通过localmachine端口查看。如果我尝试从互联网访问页面,我会收到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>
非常感谢提前。
答案 0 :(得分:0)
如果我理解正确您在IIS中运行此问题(Internet信息服务 - Windows上的内置Web服务器)。看起来您正在服务的目录未配置为Web应用程序(但它配置为虚拟目录)。 解决这个问题:
这些步骤应该使IIS至少尝试渲染.cshtml。
另外注意.cshtml(即ASP.NET MVC)比.asp(即简单的ASP.NET)更容易学习和理解
答案 1 :(得分:0)
似乎我有一个旧版本......这在这里得到了解答: