gpt4 book ai didi

c# - Signalr Hub 文件中的 HttpContext null

转载 作者:太空狗 更新时间:2023-10-29 18:18:33 26 4
gpt4 key购买 nike

我有一个 SignalR 集线器。当客户端断开连接时,我想执行一个文件操作。为此,我需要访问 Server.MapPath

但是,由于我的 Hub 类不是 .aspx 或 Web 服务,因此没有 HttpContext 也没有请求。

我考虑过将 IO 工作委派给 HTTP 请求处理程序,但我无法创建具有相对 URI 的 WebRequest,我需要能够在不同位置部署解决方案。

我如何才能从 SignalR 获取要在 System.IO 类中使用的本地路径?

System.IO.Directory.GetCurrentDirectory() 为我提供了 IIS 工作进程的位置。

最佳答案

你可以试试下面的方法

 var path = (System.Web.HttpContext.Current == null)
? System.Web.Hosting.HostingEnvironment.MapPath("~/")
: System.Web.HttpContext.Current.Server.MapPath("~/");

它使用托管环境获取正在执行的应用程序的路径。

关于c# - Signalr Hub 文件中的 HttpContext null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com