C#学习教程:请求在此上下文中不可用 – >在Global.asax中 – >替换内容分享


请求在此上下文中不可用 – >在Global.asax中 – >替换内容

为什么下面的行在global.asax中有错误:

string RelativeFilePath = "~/" + (AbsoluteFilePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty)).Replace("\", "/"); 

错误:

在此上下文中不提供请求

什么是替代品?

提前致谢

如果您在IIS7集成管道中托管您的应用程序,则Application_Start中不提供HttpContext对象。 对于您的方案,您可以这样做:

 string relativeFilePath = "~/" + AbsoluteFilePath .Replace(HostingEnvironment.ApplicationPhysicalPath, String.Empty) .Replace("\", "/"); 

在IIS7或更高版本中,引入了集成管道,并且一些规则已更改。 您无法访问Application_Start中的当前HttpContext。 这是更多信息。

要引用,这是您的选择:

那么,这对你意味着什么?

基本上,如果您恰好在Application_Start中访问请求上下文,则有两种选择:

将应用程序代码更改为不使用请求上下文(推荐)。 将应用程序移至经典模式(不推荐)。

由于您只是获取应用程序的物理路径,因此我坚持使用集成模式,只需更改代码即可。

上述就是C#学习教程:请求在此上下文中不可用 – >在Global.asax中 – >替换内容分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1269692.html

(0)
上一篇 1天前
下一篇 1天前

精彩推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注