我认为你不能使用.NET客户端框架构建Web应用程序?
无论如何,不管那些。你会发现命名空间在不同的程序集中被重复使用。尤其是在框架程序集中,他们认为一些类在概念上属于一起,即使它们支持不同的技术。
我不确定我解释得很好,但以这个例子为例。mscorlib、System、System.Net、System.Core和System.Numerics中都有一个System命名空间。此外,System.Web可能出现在System.Web.Http、System.Web本身以及其他如System.Web.Abstractions、System.Web.Optimization等中。因此,仅尝试使用using语句来确定特定类来自哪个程序集可能会让你感到困惑。
System.Web.Hosting命名空间中的典型类位于框架程序集System.Web.dll中。Microsoft一直在试图淡化直接使用System.Web.dll,而更倾向于Katana/Kestrel的更模块化实现。
话虽如此,请确保您的项目直接引用System.Web.dll。要使用所需的类,请使用完整名称,即System.Web.Hosting.HostingEnvironment。或者在.cs文件开头放置一个using System.Web.Hosting;
。
当前类中可能存在名为HostingEnvironment的属性,或者在另一个程序集的另一个命名空间中存在名为HostingEnvironment的类。在这种情况下,您可能需要完整指定类名或者创建一个易于引用和减少输入的简称。
例如,您可以在文件开头添加以下内容:
using HostEnv = System.Web.Hosting.HostingEnvironment
然后在您的代码正文中的某个地方,您可以这样引用它:
var appHost = HostEnv.ApplicationHost
这对您有帮助吗?
针对您想要解决的特定情况,您可以这样做:
var resolvedPath = HostEnv.MapPath(pathToMap)
HostingEnvironment.QueueBackgroundWorkItem
抛出异步的“Fire&Forget”消息,以防止IIS回收工作进程时异常被终止。 - Michael Blackburn