2012-12-06 3 views
3

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()); 
    } 
} 

내가 같은 문제가 표시되지 않습니다 다음과 같이 코드입니다. 아무도 나에게이 문제의 원인이 될 수있는 아이디어를 줄 수 있습니까?

답변

1

내 자신의 질문에 대답 :

을 나는이 문제가 내 개발 컴퓨터에 특정한 생각합니다. 가정용 PC에서 사이트를 디버깅 할 때 문제가 없습니다. 내 결론은 내 dev에 기계 가이 문제를 일으키는 구성을 가지고있다. 이 문제를 해결하기 위해 코드보다는 기계를 살펴볼 필요가 있다고 생각합니다.

+0

같은 문제가 있습니다. 문제가 뭔지 알아 냈 니? – KBoek

+0

나, 어떤 해결책? –

+0

한 가지 해결 방법이 있습니다. cshtml 파일 속성을 복사하여 새 버전으로 변경하고 제대로 작동하는지 확인하십시오. 그것은 틀 렸지만 도움이 될지도 모릅니다. – kunjee

관련 문제