如何将以下代码移植到.Net Core:
AppDomain.CurrentDomain.DefineDynamicAssembly(
new AssemblyName(
Guid.NewGuid().ToString()),
AssemblyBuilderAccess.RunAndSave);
Run Code Online (Sandbox Code Playgroud)
可能吗?
activitySource.StartActivity我还没有找到返回非空活动的方法,这与DiagnosticSource.StartActivity行为相比是不同的。是预期的吗?我错过了一些明显的东西吗?
我可以看到文档说:“创建的活动对象,如果它有活动侦听器,或者如果没有事件侦听器,则为 null。” 下面的测试仍然失败,正确的初始化方法是什么ActivityListener?我使用的包是"System.Diagnostics.DiagnosticSource" Version="5.0.0".
[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);
}
Run Code Online (Sandbox Code Playgroud) 提供了下面的代码片段在这里创建IReliableDictionary的内部StatefulService子类:
var myDictionary = await this.StateManager.
GetOrAddAsync<IReliableDictionary<string, long>>("myDictionary");
Run Code Online (Sandbox Code Playgroud)
我的问题是关于如何编写类似的代码,但是Actor.其中只有以下声明IActorStateManager支持T值作为第2个参数:
Task<T> GetOrAddStateAsync<T>(string stateName, T value, CancellationToken cancellationToken = default(CancellationToken));
Run Code Online (Sandbox Code Playgroud)
问题是我找不到IReliableDictionary可用的实现.正确的代码片段应该如何?