gpt4 book ai didi

azure-service-fabric - Azure Service Fabric(预览版)Actors SDK 为 Actor 继承提供了惊人的行为

转载 作者:行者123 更新时间:2023-12-04 08:20:13 24 4
gpt4 key购买 nike

在尝试使用预览版 SDK 后,我在尝试为我正在开发的框架使用的一组相关 Actor 类型提供通用实现时注意到一些令人惊讶的事情。

创建如下代码似乎没有按预期工作:

图书馆:

public abstract class CommonActor : Actor, ICommonActor
{
public abstract void DoStuff();
}

控制台应用程序:

public class MyActor : CommonActor
{
public void override DoStuff()
{
//Stuff
}
}

在创建我的 Actor 时,我注册该 Actor 的调用失败。

fabricRuntime.RegisterActor(typeof(MyActor)); 

我收到一个错误,指出该类型不是从 Actor 派生的,这显然是伪造的。

我还注意到这似乎破坏了生成服务 list 的工具。 (我不得不通过禁用该工具来解决这个问题。)

这基本上阻止了我以我想要的方式为我的用户编写 API。我一点也不喜欢那样。与其他人报告的类似,这里几乎没有对依赖注入(inject)场景的支持,这对我来说极大地破坏了 Actors 模型的实用性。

我错过了什么吗?这里有更好的方法来实现 actor 抽象吗?

最佳答案

现在只要使用 ActorService 装饰器显式命名子 actor 就可以完成此操作。在您的示例中,这将转换为像这样更新 MyActor 类...

    [ActorService(Name = "MyActor")]      // Child actors need this decorator
public class MyActor : CommonActor
{
public void override DoStuff()
{
//Stuff
}
}

更多信息也可在 Service Fabric documentation 中找到。 .

关于azure-service-fabric - Azure Service Fabric(预览版)Actors SDK 为 Actor 继承提供了惊人的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447271/

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