C#在异步线程中获取ApplicationName

时间:2018-07-03 10:16:28

标签: c# asp.net .net multithreading asynchronous

我需要在异步线程中获取ApplicationName或AssemblyName

该代码位于ASP.Net Web应用程序和Windows控制台或Windows Form应用程序使用的类库项目中。

当方法由非异步线程调用时,我使用

System.Reflection.Assembly.GetEntryAssembly().GetName().Name

用于Windows控制台和Windows窗体

System.Web.HttpContext.Current.ApplicationInstance.GetType().BaseType

用于ASP.Net Web应用程序。

在异步线程中调用方法时,由于两个方法都返回null,因此无法正常工作。

我无法将参数传递给每个线程,因为我无法访问源代码

1 个答案:

答案 0 :(得分:0)

此刻我无法找到解决方法,

我的方法在主线程之前被调用,并且仅在第二步被异步线程调用。当主线程调用它时,我将ApplicationName存储在一个静态变量中,如果在任何其他方法中都为null,则我将它用于异步方法中