2014-04-22 83 views
1

遵循所有指南,SO頁面和故障排除頁面後,我可以發現我終於沒有想法。Glimpse在本地工作,不在遠程服務器上

我的Glimpse在我的本地開發服務器上工作正常,但是當我將我的ASP.net(MVC5)應用程序部署到遠程服務器時,它根本無法工作。 /glimpse.axd給出了一個404,其中LocalPolicyControlCookiePolicy被設置爲忽略,並且具有在所有情況下都返回On的自定義安全策略。我的理解是,禁用ControlCookiePolicy,我不需要去/glimpse.axd啓用它 - 但我沒有看到遠程服務器上的一瞥圖標。

即使我去到遠程服務器和瀏覽本地主機/glimpse.axd我仍然獲得了404

我的web.config文件看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<configSections> 
    <section name="glimpse" type="Glimpse.Core.Configuration.Section, Glimpse.Core" /> 
</configSections> 

<system.web> 
    <compilation debug="false" /> 
    <httpRuntime targetFramework="4.5.1" relaxedUrlToFileSystemMapping="true" /> 
</system.web> 

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <remove name="FormsAuthentication" /> 
    </modules> 

    <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="false" /> 
</system.webServer> 

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"> 
    <logging level="Trace" /> 
    <runtimePolicies> 
     <ignoredTypes> 
      <add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet" /> 
      <add type="Glimpse.Core.Policy.ControlCookiePolicy, Glimpse.Core" /> 
     </ignoredTypes> 
    </runtimePolicies> 
</glimpse> 
</configuration> 

這是版本關閉遠程服務器(變換後)。我已經修剪了一些,以刪除像appSettings這樣的部分。

我GlimpseSecurityPolicy.cs看起來是這樣的:

// Uncomment this class to provide custom runtime policy for Glimpse 

using Glimpse.AspNet.Extensions; 
using Glimpse.Core.Extensibility; 

namespace RationalVote 
{ 
public class GlimpseSecurityPolicy:IRuntimePolicy 
{ 
    public RuntimePolicy Execute(IRuntimePolicyContext policyContext) 
    { 
     return RuntimePolicy.On; 
    } 

    public RuntimeEvent ExecuteOn 
    { 
     // The RuntimeEvent.ExecuteResource is only needed in case you create a security policy 
     // Have a look at http://blog.getglimpse.com/2013/12/09/protect-glimpse-axd-with-your-custom-runtime-policy/ for more details 
     get { return RuntimeEvent.EndRequest | RuntimeEvent.ExecuteResource; } 
    } 
} 
} 

真正的人做一個實際的檢查,但我得到了同樣的問題與上面的政策。

我似乎無法在遠程服務器的任何位置找到任何跟蹤輸出,它在本地計算機上記錄的很好。

我正在使用Visual Studio發佈到Web功能進行部署,並且我已驗證Glimpse.Core.dll位於bin文件夾中。

我在相關的事件日誌中看不到任何內容。

我也將<add namespace="Glimpse.Mvc.Html" />添加到views文件夾中web.config的命名空間塊。

我試着把@Html.GlimpseClient()放在文件的正上方</body>,但是這個沒有渲染。

有人有什麼想法嗎?

回答

1

如果glimpse.axd返回404,則表示Glimpse資源處理程序未註冊。

如果上面顯示的web.config內容不修剪成多,那麼這是正常的一瞥不會做太多的Glimpse HttpModuleGlimpse HttpHandler未在system.web和/或​​段像這樣註冊

<system.web> 
    <httpModules> 
     <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet"/> 
    </httpModules> 
    <httpHandlers> 
     <add path="glimpse.axd" verb="GET" type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet"/> 
    </httpHandlers> 
</system.web> 
<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules> 
     <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" preCondition="integratedMode"/> 
    </modules> 
    <handlers> 
     <add name="Glimpse" path="glimpse.axd" verb="GET" type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet" preCondition="integratedMode" /> 
    </handlers> 
</system.webServer> 

也許你的轉換從本地web.config中刪除了很多?

+0

謝謝,就是這樣。實際上,我在未轉換的web.config中已經有了這些,但是我的web.release.config中有 ...',所以整個塊正在被刪除。不知何故,我沒有注意到! – icStatic

相關問題