ServiceStack Razor - '禁止';默认文档错误

本文关键字:文档 错误 默认 禁止 ServiceStack Razor | 更新日期: 2023-09-27 17:54:28

我正在使用Razor格式引擎创建一个基于ServiceStack的网站。在我的项目的根文件夹中,我有"default"。但是试图导航到URL(在本地主机上),我收到一个302重定向到默认值。CSHTML和以下页面:

Forbidden Request.HttpMethod: GET Request.PathInfo: /default.cshtml Request.QueryString: Request.RawUrl: /default.cshtml

这是我的Global.asax.cs:

public class AppHost : AppHostBase
{
    public AppHost() : base("OOMS 2.0", typeof(OOMS.ServiceInterface.OOMSService).Assembly) { }
    public override void Configure(Container container)
    {
        Plugins.Add(new RazorFormat());
        Plugins.Add(new RequestLogsFeature());
    }
}
public class Global : System.Web.HttpApplication
{
    protected void Application_Start(object sender, EventArgs e)
    {
        new AppHost().Init();
    }
}

And my web.config:

<appSettings>
  <add key="ResetAllOnStartUp" value="True" />
  <add key="webPages:Enabled" value="false" />
</appSettings>
<connectionStrings>
</connectionStrings>
<system.web>
  <compilation targetFramework="4.5" debug="true">

    <assemblies>
      <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </assemblies>
    <buildProviders>
      <add extension=".cshtml" type="ServiceStack.Razor.CSharpRazorBuildProvider, ServiceStack.Razor" />
    </buildProviders>
  </compilation>
  <pages controlRenderingCompatibilityVersion="4.0" />
</system.web>
<system.webServer>
  <modules runAllManagedModulesForAllRequests="true" />
  <handlers>
    <!-- IIS7 -->
    <add path="*" name="ServiceStack.Factory" type="ServiceStack.HttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
  </handlers>
</system.webServer>
<system.web.webPages.razor>
  <!--<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />-->
  <pages pageBaseType="ServiceStack.Razor.ViewPage">
    <namespaces>
      <add namespace="ServiceStack" />
      <add namespace="ServiceStack.Html" />
      <add namespace="ServiceStack.Razor" />
      <add namespace="ServiceStack.Text" />
      <add namespace="ServiceStack.OrmLite" />
      <add namespace="OOMS.Web" />
    </namespaces>
  </pages>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc" />
</system.web.webPages.razor>

当然还有default。cshtml:

@{
}
<!doctype html>
<html lang="en-us">
    <body>
        Hello world
    </body>
</html>

为什么Razor引擎不能获取我的默认内容页?

ServiceStack Razor - '禁止';默认文档错误

这最终看起来是一些坏的缓存DLL或设置。解析步骤:

  • 通过在URL后面添加?debug=requestinfo来分析显示"Forbidden"页面上的调试信息。这是ServiceStack在线文档中描述的一个方便的工具。
  • 停止IIS Express并关闭Visual Studio。
  • 已清除临时ASP。通过删除C:'Windows'Microsoft.NET'Framework'v4.0.30319'Temporary ASP.NET Files
  • 的内容
  • 删除,重新安装了两个有问题的NuGet软件包,Microsoft.AspNet.WebPagesServiceStack.Razor
  • 清洗,重建,幸福。