2011-01-16 2 views
1

Я переделываю консольную игру, которую мой босс сделал очень давно, в Silverlight. Это полностью основанный на тексте. В версии Console каждый компьютер, на котором он был установлен, имел свою собственную карту, которая была разделена на сетку комнат.Глобальные данные приложения Silverlight

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

Итак, в настоящее время я храню все данные в IsolatedStorage, что явно не является глобальным. Как хранить данные и извлекать их, чтобы все игроки могли видеть одну и ту же карту?

Если это помогает, сервер, на котором будет размещен сервер linux, имеет MySQL.

ответ

2

Смотрите этот ответ человека, который пытался сделать что-то очень похожее (он хотел данные высокий балл, вы хотите отобразить данные): High Scores self contained in .xap

Тот факт, что вы работаете в Linux-сервера усложняет вещи немного - вместо использования службы WCF или asmx вы можете рассмотреть веб-службу на основе java или просто создать обычную страницу HTTP, которая запрашивает базу данных MySQL и возвращает данные, которые ваше приложение Silverlight может запрашивать и потреблять (это все равно «веб-сервис», , хотя и очень примитивный).

+1

Возможно, вы можете использовать Mono для публикации веб-службы, которая должна выглядеть так же, как ASMX (если я правильно помню поддержку веб-сервиса Mono). Вы не получите WCF или WCF RIA Services, но это может быть лучше, чем использование PHP или чего-то большего, чем у .NET. Важным моментом является то, что «глобальные» данные должны быть на сервере где-то, чтобы поделиться им, что этот ответ правильно указывает. Имейте в виду, как ваше приложение обновит эти данные или будет уведомлено об изменениях, и все это - все будет асинхронно, поэтому может быть сложно в зависимости от того, что вам действительно нужно. –

Смежные вопросы