gpt4 book ai didi

c# - ServiceStack Razor - 默认文档出现 "Forbidden"错误

转载 作者:行者123 更新时间:2023-12-02 21:29:27 26 4
gpt4 key购买 nike

我正在使用 Razor 格式引擎创建一个基于 ServiceStack 的网站。在我的项目的文件夹根目录中,我有“default.cshtml”,但尝试导航到 URL(在本地主机上)时,我收到了到 default.cshtml 的 302 重定向和以下页面:


禁止
请求.Http方法:GET
请求.PathInfo:/default.cshtml
请求.查询字符串:
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();
}
}

还有我的 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 引擎无法获取我的默认内容页面?

最佳答案

这最终似乎是一些错误的缓存 DLL 或设置。解决步骤:

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

关于c# - ServiceStack Razor - 默认文档出现 "Forbidden"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com