Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在尝试将本地akka服务器连接到本地网络上的其他服务器_C#_Akka.net - Fatal编程技术网

C# 正在尝试将本地akka服务器连接到本地网络上的其他服务器

C# 正在尝试将本地akka服务器连接到本地网络上的其他服务器,c#,akka.net,C#,Akka.net,我有点迷路了,我对阿克卡完全陌生,我有点挣扎。 长话短说,我在一个工作项目中,开发代码库的那个人走了,所以我对akka真的不太了解 我想在本地调试我的服务器,所以我启动了第一个名为ActorServer的服务器,这个服务器对eventstore很感兴趣,而这个服务器我没有任何问题 我还有一个CommandExecutor服务器,它连接到Actor服务器,但之前它是为远程执行而设置的,在启动时我有一个Actor路径锚,如下所示: "akka.tcp://my-sys@host.example.co

我有点迷路了,我对阿克卡完全陌生,我有点挣扎。 长话短说,我在一个工作项目中,开发代码库的那个人走了,所以我对akka真的不太了解

我想在本地调试我的服务器,所以我启动了第一个名为ActorServer的服务器,这个服务器对eventstore很感兴趣,而这个服务器我没有任何问题

我还有一个CommandExecutor服务器,它连接到Actor服务器,但之前它是为远程执行而设置的,在启动时我有一个Actor路径锚,如下所示:

"akka.tcp://my-sys@host.example.com:5678/user/service-b"
"akka://my-sys/user/service-a/worker1"
在文档中我发现了以下内容:

说我应该有更像这样的东西:

"akka.tcp://my-sys@host.example.com:5678/user/service-b"
"akka://my-sys/user/service-a/worker1"
但我想不出我应该用什么填充它我试过了:

"akka://localhost:60860/system/receptionist"
但它不起作用,我得到了一个

System.UriFormatException: 'Can not parse an ActorPath: akka://localhost:60860/system/receptionist'
我知道这是因为我没有正确的系统/用户部分,但我不知道该放什么:/

感谢阅读=

首先,ActorPath格式如下:

<protocol>://<actor-system-name>@<ip>:<port>/<guardian-actor>/<path-to-an-actor>

如果您的actor系统未配置为远程或群集,并且没有相应的程序集,则它将无法通过网络与其他actor系统通信。

您必须像这样使用ActorPath:

akka.tcp://{SysytemName}@localhost:8096/user/{ActorName}

其中,系统名称是您在创建系统时定义的名称:

var mySystem = ActorSystem.Create("MySystem", ConfigurationFactory.ParseString(configText));
ActorName在ActorCreation时定义:

mySystem.ActorOf(Props.Create(() => new MyActor());, "MyActor")

您好,谢谢您的回答,但问题是我不想远程启动它,而是本地启动,那么有什么问题?本地唯一路径等价物只是akka协议,而不是akka.tcp,并且不需要@ip:port部分,因为从本地角度来看,侦听器不存在。因此,远程路径akka。tcp://my-sys@host.example.com:5678/user/service-b在本地是这样的akka://my-sys/user/service-b. 如果您直接从actor系统使用选择,您也应该能够通过相对路径/user/service-b调用它。我不知道出了什么问题,我完全知道我在用这段代码做什么。我试图在本地启动它,因为我曾经使用Azure开发空间调试它,但它不再工作,因为我也不是Kubernetes专家,我认为尝试在本地调试是个不错的主意,但该项目设计为在Docker容器中启动,我对Docker不太了解:|因此我尝试使用Docker Desktop运行它,但Docker构建失败。。。所以实际上我正在尝试使用Azure Dev Spaces让它在Kubernetes上再次工作,我想我发现了问题,但我不知道如何解决它,当我使用从Azure DevOps中提取图像的Prepod和prod部署时,一切正常,但当我尝试将Azure开发空间与Prepod eventstore一起使用时,项目似乎无法在其名称空间之外进行通信,eventstores和identity server所在的位置,但由于我们有两个eventstores,一个在prop namespace中,另一个在prepod中,一个在identity namespace中,我认为这是Kubernetes配置问题,而不是项目的问题,谢谢你的时间,如果你知道任何人可以帮助我在这个自由职业者包括我会很高兴得到一些帮助