asp.net - HttpContext.Current 在 IIS7 集成模式下不存在

标签 asp.net iis-7 fluorinefx

我刚刚从经典模式切换到集成模式,现在 HttpContext 似乎不存在于我的 ASP.NET 应用程序中。我什至无法将 Watch 添加到 HttpContext 或 HttpContext.Current。

我正在使用 FluorineFX,其中在 Web.config 中定义了一个 HttpModule。显然,在 IIS7 集成模式下,这些 HttpModule 需要添加到 System.WebServer 中的模块部分。我已经这样做了,但现在我遇到了这个 HttpContext 问题......

知道为什么会发生这种情况吗?

代码位于由 Flex (amf) 调用的简单服务类中。

if (HttpContext.Current.User.Identity != null)
{
    ...

Web.Config(我不知道如何在 Stack 中正确显示它...):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false"/>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <sectionGroup name="fluorinefx">
      <section name="settings" type="FluorineFx.Configuration.XmlConfigurator, FluorineFx" requirePermission="false"/>
    </sectionGroup>
    <sectionGroup name="spring">
            <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
        </sectionGroup>
    </configSections>
  <cachingConfiguration configSource="WebCachingConfiguration.config"/>
  <dataConfiguration defaultDatabase="ConnectionString"/>
  <spring>
        <context>
      <resource uri="~/spring/Commands.xml"/>
      <resource uri="~/spring/Management.xml"/>
      <resource uri="~/spring/DomainModel.xml"/>
      <resource uri="~/spring/Repositories.xml"/>
      <resource uri="~/spring/Services.xml"/>
            <resource uri="~/spring/MsmqQueues.xml"/>
      <resource uri="~/spring/MsmqMessageQueueTemplates.xml"/>
      <resource uri="~/spring/Jobs.xml"/>
        </context>
    </spring>
  <log4net configSource="WebLog4Net.config"/>
    <connectionStrings configSource="WebConnectionString.config"/>
  <appSettings configSource="WebAppSettings.config"/>
  <fluorinefx>
        <settings configSource="WebFluorineFX.settings.config"/>
    </fluorinefx>
    <system.web>
        <globalization culture="nl-BE"/>
        <customErrors mode="RemoteOnly"/>
        <compilation debug="true">
            <assemblies>
                <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>
        </compilation>
        <authorization>
            <allow users="*"/>
        </authorization>
        <!-- ignored when anonymous authentication is enabled in IIS -->
        <authentication mode="Windows"/>
        <identity impersonate="false"/>
        <httpRuntime maxRequestLength="100000" executionTimeout="1800"/>
        <caching>
            <outputCache enableOutputCache="true"/>
            <outputCacheSettings>
                <outputCacheProfiles>
                    <add duration="500000" enabled="true" varyByParam="hashCode;thumb" name="AssetCacheProfile" noStore="false"/>
                </outputCacheProfiles>
            </outputCacheSettings>
        </caching>
        <pages>
            <controls>
                <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            </controls>
        </pages>
        <sessionState timeout="20"/>
        </system.web>
    <system.codedom>
        <compilers>
            <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                <providerOption name="CompilerVersion" value="v3.5"/>
                <providerOption name="WarnAsError" value="false"/>
            </compiler>
        </compilers>
    </system.codedom>
  <system.webServer>
    <modules>
      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add name="FluorineGateway" type="FluorineFx.FluorineGateway, FluorineFx"/>
    </modules>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated" />
      <remove name="ScriptHandlerFactory" />
      <remove name="ScriptHandlerFactoryAppServices" />
      <remove name="ScriptResource" />

      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
                 type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
                 type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

      <!-- Edumatic 3 Custom HttpHandlers -->
      <add name="UploadUsers.aspx_*" path="UploadUsers.aspx" verb="*"
                 type="Edu3.Core.HttpHandler.UploadUsersHttpHandler, Edu3.Core"
                 preCondition="integratedMode,runtimeVersionv2.0" />
      <add name="UploadItems.aspx_*" path="UploadItems.aspx" verb="*"
                 type="Edu3.Core.HttpHandler.UploadItemsHttpHandler, Edu3.Core"
                 preCondition="integratedMode,runtimeVersionv2.0" />
      <add name="UploadBinaryAssetFile.aspx_*" path="UploadBinaryAssetFile.aspx" verb="*"
                 type="Edu3.Core.HttpHandler.UploadBinaryAssetFileHttpHandler, Edu3.Core"
                 preCondition="integratedMode,runtimeVersionv2.0" />
      <add name="ExportSession.aspx_*" path="ExportSession.aspx" verb="*"
                 type="Edu3.Core.HttpHandler.ExportSessionHttpHandler, Edu3.Core"
                 preCondition="integratedMode,runtimeVersionv2.0" />
      <add name="ExportSessions.aspx_*" path="ExportSessions.aspx" verb="*"
                 type="Edu3.Core.HttpHandler.ExportSessionsHttpHandler, Edu3.Core"
                 preCondition="integratedMode,runtimeVersionv2.0" />
      <add name="ValidateSessions.aspx_*" path="ValidateSessions.aspx" verb="*"
                 type="Edu3.Core.HttpHandler.ValidateSessionsHttpHandler, Edu3.Core"
                 preCondition="integratedMode,runtimeVersionv2.0"/>

      <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </handlers>
    <caching>
      <profiles>
        <add extension=".swf" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
        <add extension=".flv" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
        <add extension=".gif" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
        <add extension=".png" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
        <add extension=".mp3" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
        <add extension=".jpeg" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
        <add extension=".jpg" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="08:00:00" />
      </profiles>
    </caching>

    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
  </system.webServer>

  <!-- ************************************************************************* -->
  <!--                          Runtime Section                                  -->
  <!-- Telerik needs this runtime declaration and maybe some of our custom pages -->
  <!-- ************************************************************************* -->
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

最佳答案

如果您尝试从 Application_Start 访问它,则架构更改会阻止此操作:IIS 7 Application_Start changes .

据我所知,它应该仍然存在于其他任何地方。

关于asp.net - HttpContext.Current 在 IIS7 集成模式下不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3727973/

相关文章:

asp.net - asp.net c#中的错误处理

authentication - 在带有 Windows Server 2008 的 IIS 7 上使用委派设置 Kerberos 身份验证

apache-flex - AMF 和跨站脚本漏洞混淆

Javascript 连接表格单元格 ASP.NET MVC

c# - 我的数据库系统找不到 asp.net 中指定的文件

c# - 在页面加载数据时使用母版页显示加载消息 asp.net

IIS 网站物理路径在 wix 卸载时变为空白

asp.net - FluorineFX 是否足够成熟以用于大型 Web 应用程序?

asp.net - 氟TransientAttribute和Linq-to-SQL

asp.net - 如何在 ASP.NET WebForms 中操作 url?