Почему бункер orleans начинает давать сбой после изменения, скажем, привет, чтобы поддержать хост и зерно?

1

Я следую примеру Orleans в этом примере, вместо того, чтобы запускать как силос, так и клиент в том же домене приложения, они проходят через так, что оба могут запускаться независимо. Я внес изменения, как было предложено. Я изменил IGrain1.cs, чтобы принять строку в качестве параметра

Task<string> SayHello(string greetings);

Модифицирован файл graphics1.cs для реализации кода следующим образом

private string text = "Hello World!";
public Task<string> SayHello(string greetings)
{
    var oldText = text;
    text = greetings;
    return Task.FromResult(oldText);
}

Когда я запускаю силос, он не запускает силос с этой ошибкой

"TypeLoadException: метод" SayHello "в типе" GrainCollection1.Grain1 "из сборки" GrainCollection1... "

как интерфейс, так и определение соответствия зерну. Что-то простое здесь отсутствует?

  • 0
    Создал новое решение и повторил попытку, используя только один метод - SayMyName, который отображает постоянное имя, но в одном сообщении он продолжает давать сбой. Когда я ставлю SayHello, все работает просто отлично.
Теги:
orleans

1 ответ

4
Лучший ответ

Взгляните на c:\Microsoft Codename Orleans SDK v0.9\SDK\LocalSilo\Applications. CodeGen создает папку для каждого проекта Orleans. Когда локальный силос запускается, инициализатор просматривает этот каталог для сборок.

Попробуйте удалить папки в. /Applications и перестроить свое решение. Вы должны увидеть, что папка проекта воссоздана с восстановленными зернами и интерфейсами DLL.

В DevTestServerConfiguration.xml измените Tracing/DefaultTraceLevel на "Предупреждение" на "Информация". Когда вы запустите InitSilo, вы увидите, что ищет силос, и ошибки, которые он бросает. Это указывало на папку с силосом SDK.

Изменение: вам также может понадобиться удалить папки в папке \SDK\Binaries. Обязательно перестройте весь проект сразу после удаления.

  • 0
    Большое спасибо за руководство, мне пришлось удалить не только папку приложения, но и файлы, созданные в его родительской папке.
  • 0
    Обратите внимание, что SDK с локальным бункером больше не подлежит доставке. Используйте последние нюансы и используйте что-то вроде этого: github.com/dotnet/orleans/tree/master/Samples/HelloWorld/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню