ServiceStack 면도기 프로젝트에서 작업 할 때 일관성없는 결과가 나타납니다. 문제는 일부 프로젝트가 내 개발 환경 (Win 8, VS 2012)에서 cshtml 페이지를 제공하지 못하기 시작한다는 것입니다. 홈 페이지 (default.cshtml)를 디버깅에 IIS Express를 사용하면 반환ServiceStack 개발 기계에서 면도기 cshtml 페이지가 제공되지 않습니다.
Forbidden
Request.HttpMethod: GET
Request.PathInfo:
Request.QueryString:
Request.RawUrl: /default.cshtml
App.IsIntegratedPipeline: True
App.WebHostPhysicalPath: C:\Users\jim\Documents\Visual Studio > 2012\Projects\Test.Web\Test.Web
App.WebHostRootFileNames: [about.cshtml,apphost.cs,default.cshtml,global.asax,global.asax.cs,packages.config,pricing.cshtml,privacy.cshtml,reconcilable.web.csproj,test.web.csproj.user,terms.cshtml,web.config,web.debug.config,web.release.config,bin,obj,properties,public,services,views]
App.DefaultRootFileName: default.cshtml
나는 다음을 참조 다른 URL에 페이지를 요청하는 경우 :
이Handler for Request not found:
Request.ApplicationPath:/
Request.CurrentExecutionFilePath: /terms
Request.FilePath: /terms
Request.HttpMethod: GET
Request.MapPath('~'): C:\Users\jim\Documents\Visual Studio 2012\Projects\Test.Web\Test.Web\
Request.Path: /terms
Request.PathInfo:
Request.ResolvedPathInfo: /terms
Request.PhysicalPath: C:\Users\jim\Documents\Visual Studio 2012\Projects\Test.Web\Test.Web\terms
Request.PhysicalApplicationPath: C:\Users\jim\Documents\Visual Studio 2012\Projects\Test.Web\Test.Web\
Request.QueryString:
Request.RawUrl: /terms
Request.Url.AbsoluteUri: http://localhost:51000/terms
Request.Url.AbsolutePath: /terms
Request.Url.Fragment:
Request.Url.Host: localhost
Request.Url.LocalPath: /terms
Request.Url.Port: 51000
Request.Url.Query:
Request.Url.Scheme: http
Request.Url.Segments: System.String[]
App.IsIntegratedPipeline: True
App.WebHostPhysicalPath: C:\Users\jim\Documents\Visual Studio 2012\Projects\Test.Web\Reconcilable.Web
App.WebHostRootFileNames: [about.cshtml,apphost.cs,default.cshtml,global.asax,global.asax.cs,packages.config,test.web.csproj,test.web.csproj.user,terms.cshtml,web.config,web.debug.config,web.release.config,bin,obj,properties,public,services,views]
App.DefaultRootFileName: default.cshtml
App.DefaultHandler: default.cshtml
App.DebugLastHandlerArgs: GET|/terms|C:\Users\jim\Documents\Visual Studio 2012\Projects\Test.Web\Test.Web\terms
나는 깨끗한 새 프로젝트를 만들 수 있습니다 페이지를 올바르게 제공하지만 동일한 web.config, AppHost, Global.asax 파일이있는 이전 프로젝트가 실패합니다. 프로젝트가 서버에 배포 될 때
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web>
<compilation 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>
</system.web>
<!-- Required for IIS 7.0 -->
<system.webServer>
<handlers>
<add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
<appSettings>
<add key="webPages:Enabled" value="false" />
</appSettings>
<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.Html" />
<add namespace="ServiceStack.Razor" />
<add namespace="ServiceStack.Text" />
<add namespace="ServiceStack.OrmLite" />
</namespaces>
</pages>
</system.web.webPages.razor>
</configuration>
public class Global : HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
new AppHost().Init();
}
}
public class AppHost : AppHostBase
{
public AppHost() : base("test", typeof(AppHost).Assembly) { }
public override void Configure(Funq.Container container)
{
Plugins.Add(new RazorFormat());
}
}
내가 같은 문제가 표시되지 않습니다 다음과 같이 코드입니다. 아무도 나에게이 문제의 원인이 될 수있는 아이디어를 줄 수 있습니까?
같은 문제가 있습니다. 문제가 뭔지 알아 냈 니? – KBoek
나, 어떤 해결책? –
한 가지 해결 방법이 있습니다. cshtml 파일 속성을 복사하여 새 버전으로 변경하고 제대로 작동하는지 확인하십시오. 그것은 틀 렸지만 도움이 될지도 모릅니다. – kunjee