C# 瞥见在本地工作,而不是在远程服务器上
在遵循了所有的指南之后,我终于找到了我的想法 我在本地开发服务器上工作得很好,但当我将ASP.net(MVC5)应用程序部署到远程服务器上时,它根本不工作C# 瞥见在本地工作,而不是在远程服务器上,c#,asp.net,asp.net-mvc,asp.net-mvc-5,glimpse,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,Glimpse,在遵循了所有的指南之后,我终于找到了我的想法 我在本地开发服务器上工作得很好,但当我将ASP.net(MVC5)应用程序部署到远程服务器上时,它根本不工作/scape.axd提供了一个404,其中LocalPolicy和ControlCookiePolicy都设置为忽略,并且具有在所有情况下都会返回的自定义安全策略。我的理解是,禁用ControlCookiePolicy后,我不需要转到/scape.axd来启用它-但我也没有在远程服务器上看到scape图标 即使我去远程服务器浏览localhos
/scape.axd
提供了一个404,其中LocalPolicy
和ControlCookiePolicy
都设置为忽略,并且具有在所有情况下都会返回的自定义安全策略。我的理解是,禁用ControlCookiePolicy
后,我不需要转到/scape.axd
来启用它-但我也没有在远程服务器上看到scape图标
即使我去远程服务器浏览localhost到/scape.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>
// 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功能进行部署,并且我已经验证了scape.Core.dll
是否在bin文件夹中
我在事件日志中看不到任何相关内容
我还将
添加到视图文件夹中web.config的namespaces块中
我试着将@Html.GlimpseClient()
放在\u Layout.cshtml
文件的正上方,但这不会产生任何效果
有人有什么想法吗?如果scape.axd返回404,则表示未注册scape资源处理程序 如果您在上面显示的web.config内容没有被修剪到很多,那么Spile通常不会做很多事情,因为
Spile HttpModule
和Spile HttpHandler
没有在system.web
和/或system.webserver
中注册
<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中删除了很多内容?谢谢,就这样。实际上,我在未转换的web.config中包含了所有这些内容,但在web.release.config中包含了
…
,因此整个块都被删除了。不知怎的,我没有注意到!