VS中的Orleans Grain Collection Template,改了吗?

Orleans Grain Collection Template in VS, has it changed?

我正在使用 v1.0.5 版本的 Microsoft Orleans SDK,并且正在学习 Running in a Stand alone Silo Microsoft Orleans 教程

并且提示如下:

If you set the grain collection project as a startup project and hit F5, you will notice that it's started and hosted by a silo called "OrleansHost."...

但据我所知,Grain Collection Project 是一个 class 库,自本教程编写以来,这是否发生了变化(我注意到它使用旧的 OrleansClient 而不是 GrainClient)。

下面的主要方法:

static void Main(string[] args){
    Console.WriteLine("Waiting`enter code here` for Orleans Silo to start. Press Enter to proceed...");
    Console.ReadLine();
    Orleans.OrleansClient.Initialize("DevTestClientConfiguration.xml");
}

我相信是为了 SiloHost。

您必须设置为启动两者

  • 包含Program.cs(客户端)和
  • 的项目
  • Grain 项目。

查看Grain项目的Properties/Debug/Start外部程序(应该是这样的:C:\Orleans\SDK\LocalSilo\OrleansHost.exe),它会用本地OrleansHost silo启动grain .dll-s SDK.

您可以在最后使用 CTRL-C 退出本地 OrleansHost 筒仓。

编辑

Grain项目的.csproj中有3行很重要:

    <StartAction>Program</StartAction>
    <StartProgram>$(OrleansSDK)\LocalSilo\OrleansHost.exe</StartProgram>
    <StartWorkingDirectory>$(OrleansSDK)\LocalSilo</StartWorkingDirectory>

这是由项目模板或 NuGet 包插入的,因此您不需要编辑这些。只有在出现问题的情况下,例如。您重新定位了 Orleans SDK。

迁移SDK时,修改OrleansSDK环境变量(控制panel/Advanced/Environmentvariables/System变量),不要Grain项目的属性!