Клиент-сервер без общей кодовой базы - PullRequest
2 голосов
/ 14 января 2010

Мы разрабатываем многопользовательскую игру silverlight с использованием TCP-соединений. У нас есть все наши игровые объекты и движок, хранящиеся в отдельной сборке, которую мы предназначали для совместного использования клиентом SL и серверным приложением. Однако, похоже, что специальные сборки SL нельзя использовать совместно с чистыми приложениями .NET и наоборот.

Так, каковы наши варианты? Мы знаем, что бета-версия SL 4.0 предлагает частичные общие сборки самых основных пространств имен, но в данный момент нам не интересно работать с бета-версией.

Возможно ли даже удаленно запустить всю игровую логику на стороне сервера, а затем просто заставить SL-клиента отправлять входные данные на сервер и воспроизводить графику в соответствии с требованиями сервера?

1 Ответ

0 голосов
/ 14 января 2010

Чистые .NET-приложения способны связывать даже сборки Silverlight 3.0, просто попробуйте. Только сейчас они продают эту функцию для 4.0. ; -)

Однако у меня возникли некоторые незначительные проблемы с этим (кажется, что некоторые Func<> / Action<> делегаты не были совместимы). Кроме того, сборки Silverlight 3.0 не оптимизируются при выборе этого параметра компилятора.

Что вы можете сделать, это добавить существующие файлы исходного кода в ваш проект в виде ссылок . Но, конечно, это трудно поддерживать, когда у вас много и вы часто создаете новые или удаляете файлы исходного кода. Вы не можете связать полные папки еще. : - /

Инструменты Visual Studio для служб RIA (текущий подход Microsoft RAD для LOB-приложений Silverlight) используют T4 для копирования кода класса сущностей из проекта .NET, который выполняется на веб-сервере, на котором размещена веб-служба, в проект Silverlight , Для меня это не похоже на чистый подход. Но, может быть, вы не такой тупой, как я, и можете проверить, можете ли вы использовать эту функциональность для своих целей.

...