Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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# 为什么奥尔良筒仓在更改“打招呼”示例以支持主机和谷物后开始失败?_C#_Orleans - Fatal编程技术网

C# 为什么奥尔良筒仓在更改“打招呼”示例以支持主机和谷物后开始失败?

C# 为什么奥尔良筒仓在更改“打招呼”示例以支持主机和谷物后开始失败?,c#,orleans,C#,Orleans,在本例中,我遵循的是,不是在同一个应用程序域中同时运行思洛存储器和客户机,而是遍历它们,以便两者都可以独立启动。我按照建议做了更改。我修改了IGrain1.cs以接受字符串作为参数 Task<string> SayHello(string greetings); 修改grain1.cs以实现以下代码 private string text = "Hello World!"; public Task<string> SayHello(string greetings) {

在本例中,我遵循的是,不是在同一个应用程序域中同时运行思洛存储器和客户机,而是遍历它们,以便两者都可以独立启动。我按照建议做了更改。我修改了IGrain1.cs以接受字符串作为参数

Task<string> SayHello(string greetings);
修改grain1.cs以实现以下代码

private string text = "Hello World!";
public Task<string> SayHello(string greetings)
{
    var oldText = text;
    text = greetings;
    return Task.FromResult(oldText);
}
当我运行思洛存储器时,它始终无法启动思洛存储器,并出现此错误

TypeLoadException:程序集“GrainCollection1…”中类型“GrainCollection1.Grain1”中的方法“SayHello”


接口和晶粒定义都匹配。这里我缺少一些简单的东西?

看看c:\Microsoft代码名Orleans SDK v0.9\SDK\LocalSilo\Applications。CodeGen在那里为每个奥尔良项目建立一个文件夹。当本地思洛存储器启动时,初始值设定项将扫描此目录中的程序集

尝试删除../Applications中的文件夹并重建解决方案。您应该看到使用重建的grain和interface DLL重新创建的项目文件夹

在DevTestServerConfiguration.xml中,将跟踪/DefaultTraceLevel从警告更改为信息。当您运行InitSilo时,您将看到silo在寻找什么以及它抛出的错误。这将我指向SDK思洛存储器文件夹


编辑:您可能还需要删除..\SDK\Binaries中的文件夹。确保在执行删除操作后立即重建整个项目

看看c:\Microsoft代码名Orleans SDK v0.9\SDK\LocalSilo\Applications。CodeGen在那里为每个奥尔良项目建立一个文件夹。当本地思洛存储器启动时,初始值设定项将扫描此目录中的程序集

尝试删除../Applications中的文件夹并重建解决方案。您应该看到使用重建的grain和interface DLL重新创建的项目文件夹

在DevTestServerConfiguration.xml中,将跟踪/DefaultTraceLevel从警告更改为信息。当您运行InitSilo时,您将看到silo在寻找什么以及它抛出的错误。这将我指向SDK思洛存储器文件夹


编辑:您可能还需要删除..\SDK\Binaries中的文件夹。确保在执行删除操作后立即重建整个项目

创建了一个全新的解决方案,并仅使用一种方法重试,即SayMyName,它显示一个常量名称,但仍会不断失败,并显示相同的消息。当我输入SayHello时,一切都正常。创建了一个全新的解决方案,然后用一个方法重试,该方法是SayMyName,它显示一个常量名称,但仍然会失败,并显示相同的消息。当我放SayHello时,一切正常。非常感谢您的指导,我不仅要删除应用程序文件夹,还要删除父文件夹中生成的文件。请注意,带有本地思洛存储器的SDK不再是可交付的。使用最新的NUGET,并使用以下内容:感谢您的指导,我不仅要删除应用程序文件夹,还要删除父文件夹中生成的文件。请注意,带有本地思洛存储器的SDK不再是可交付的。使用最新的NUGET,并使用如下内容: