请求在此上下文中不可用 ->在 Global.asax -> 中什么是替换

发布于 2024-12-09 10:50:52 字数 292 浏览 0 评论 0原文

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

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

错误:

请求在此上下文中不可用

替代是什么?

提前致谢

why the below line has error in global.asax :

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

Error :

Request is not available in this context

what is the replacement?

thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

指尖凝香 2024-12-16 10:50:52

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

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

If you are hosting your application in IIS7 integrated pipeline HttpContext objects are not available in Application_Start. For your scenario you could do this instead:

string relativeFilePath = "~/" + AbsoluteFilePath
    .Replace(HostingEnvironment.ApplicationPhysicalPath, String.Empty)
    .Replace("\\", "/"); 
甜是你 2024-12-16 10:50:52

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

引用一下,这是您的选择:

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

基本上,如果您碰巧正在访问请求上下文
Application_Start,你有两个选择:

更改您的应用程序代码以不使用请求上下文
(受到推崇的)。
将应用程序移至经典模式(不推荐)。

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

In IIS7 or greater, the Integrated pipeline was introduced, and some rules changed. You cannot access the current HttpContext in Application_Start. Here's more information.

To quote, here's your options:

So, what does this mean to you?

Basically, if you happen to be accessing the request context in
Application_Start, you have two choices:

Change your application code to not use the request context
(recommended).
Move the application to Classic mode (NOT recommended).

Since you're just getting the application's physical path, I'd stick with Integrated Mode and just change your code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文