C# System.Diagnostics.ActivitySource.StartActivity返回null
我没有找到使C# System.Diagnostics.ActivitySource.StartActivity返回null,c#,.net,.net-core,system.diagnostics,C#,.net,.net Core,System.diagnostics,我没有找到使activitySource.StartActivity返回非空活动的方法,这与DiagnosticsSource.StartActivity行为不同。这是预期的吗?我是不是漏掉了什么明显的东西 我可以看到,上面写着:“创建的活动对象,如果它有活动的侦听器,或者如果它没有事件侦听器,则为null。”下面的测试仍然失败,初始化ActivityListener的正确方法是什么?我使用的包是“System.Diagnostics.DiagnosticSource”Version=“5.0.
activitySource.StartActivity
返回非空活动的方法,这与DiagnosticsSource.StartActivity
行为不同。这是预期的吗?我是不是漏掉了什么明显的东西
我可以看到,上面写着:“创建的活动对象,如果它有活动的侦听器,或者如果它没有事件侦听器,则为null。”下面的测试仍然失败,初始化ActivityListener
的正确方法是什么?我使用的包是“System.Diagnostics.DiagnosticSource”Version=“5.0.0”
此测试在以下人员的帮助下通过:
[TestMethod]
public void Start\u Not\u Null\u当\u ActivityListener\u添加了\u并且\u应该显式地\u定义的\u Activity()时
{
var activitySource=新的activitySource(“ActivitySourceName”);
var activityListener=新的activityListener
{
ShouldListenTo=s=>true,
SampleUsingParentId=(ref ActivityCreationOptions activityOptions)=>ActivitySamplingResult.AllData,
样本=(参考ActivityCreationOptions activityOptions)=>ActivitySamplingResult.AllData
};
ActivitySource.AddActivityListener(activityListener);
使用var activity=activitySource.StartActivity(“MethodType:/Path”);
Assert.IsNotNull(活动);
}
在以下人员的帮助下,此测试通过:
[TestMethod]
public void Start\u Not\u Null\u当\u ActivityListener\u添加了\u并且\u应该显式地\u定义的\u Activity()时
{
var activitySource=新的activitySource(“ActivitySourceName”);
var activityListener=新的activityListener
{
ShouldListenTo=s=>true,
SampleUsingParentId=(ref ActivityCreationOptions activityOptions)=>ActivitySamplingResult.AllData,
样本=(参考ActivityCreationOptions activityOptions)=>ActivitySamplingResult.AllData
};
ActivitySource.AddActivityListener(activityListener);
使用var activity=activitySource.StartActivity(“MethodType:/Path”);
Assert.IsNotNull(活动);
}
[TestMethod]
public void Start_Not_Null_When_ActivityListener_Added_And_ShouldListenTo_Explicitly_Defined_Activity()
{
var activitySource = new ActivitySource("ActivitySourceName");
var activityListener = new ActivityListener
{
ShouldListenTo = s => true
};
ActivitySource.AddActivityListener(activityListener);
using var activity = activitySource.StartActivity($"MethodType:/Path");
Assert.IsNotNull(activity);
}
[TestMethod]
public void Start_Not_Null_When_ActivityListener_Added_And_ShouldListenTo_Explicitly_Defined_Activity()
{
var activitySource = new ActivitySource("ActivitySourceName");
var activityListener = new ActivityListener
{
ShouldListenTo = s => true,
SampleUsingParentId = (ref ActivityCreationOptions<string> activityOptions) => ActivitySamplingResult.AllData,
Sample = (ref ActivityCreationOptions<ActivityContext> activityOptions) => ActivitySamplingResult.AllData
};
ActivitySource.AddActivityListener(activityListener);
using var activity = activitySource.StartActivity("MethodType:/Path");
Assert.IsNotNull(activity);
}