在这种情况下,请求不可用

问题描述

|
Exception Details: System.Web.HttpException: Request is not available in this context

Source Error:

Line 7:     Private Sub Application_Start(sender As Object,e As EventArgs)
Line 8:     \' Caching the tracker image in memory
Line 9:     Dim trackerImg As Byte() = File.ReadAllBytes(Context.Request.MapPath(ConfigurationManager.AppSettings(\"SD_Tut_ImageFileLocation\")))
Line 10:    Application(ConfigurationManager.AppSettings(\"SD_Tut_ImageFileKeyName\")) = trackerImg
错误在第9行 这是Global.asax代码
<%@ Application Language=\"vb\" %>
<%@ Import Namespace=\"System.IO\" %>
<%@ Import Namespace=\"System.Collections.Generic\" %>
<%@ Import Namespace=\"Stardeveloper.Tutorial\" %>

<script runat=\"server\">
   Private Sub Application_Start(sender As Object,e As EventArgs)
    \' Caching the tracker image in memory
    Dim trackerImg As Byte() = File.ReadAllBytes(Context.Request.MapPath(ConfigurationManager.AppSettings(\"SD_Tut_ImageFileLocation\")))
    Application(ConfigurationManager.AppSettings(\"SD_Tut_ImageFileKeyName\")) = trackerImg

    \' Creating a new request queue collection
    Dim queueCapacity As Integer = Convert.ToInt32(ConfigurationManager.AppSettings(\"SD_Tut_TrackerRequestsToCache\"))
    Dim trackerReqQueue As New Queue(Of TrackerRequest)(queueCapacity)
    Application(ConfigurationManager.AppSettings(\"SD_Tut_TrackerCachedRequestsKeyName\")) = trackerReqQueue
End Sub

Private Sub Application_End(sender As Object,e As EventArgs)
    \' Storing the queued tracker reqs to database
    Dim trackerReqQueue As Queue(Of TrackerRequest) = DirectCast(Application(ConfigurationManager.AppSettings(\"SD_Tut_TrackerCachedRequestsKeyName\")),Queue(Of TrackerRequest))
    Tracker.FlushRequestQueueCache(trackerReqQueue)
End Sub

</script>
    

解决方法

        
Request
Application_Start
上不可用。 当您的Web应用程序启动且此启动与任何页面请求都没有关联时,将执行
Application_Start
,因为此时尚未发生页面请求。 根据需要,您可以改用
Server.MapPath()
。     ,        我们正在处理哪个版本的IIS?如果是7或更高版本,则进行了可能导致此行为的更改。 请参阅本文。     ,        在此处查找如何获取在IIS 6.0上的asmx Web服务中的请求之前调用Application_Start(在Global.asax.cs中)   检查可能更合适   在BeginRequest方法中   代替Application_Start   因为第一个请求可能是   当地的,但稍后您可以致电   在其他域上的应用程序和   它将不再是本地的。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...