У меня есть различные объекты, которые я хотел бы иметь возможность загружать и сохранять на ASP.NET (веб-сервер IIS) из моего клиента MONO.Поэтому я сделал их объектами класса.
В качестве примера у меня есть [Score], который я буду использовать для создания истории на сервере.
Score.cs
using System.Runtime.Serialization;
[System.Serializable]
public class Score
{
public long Total;
public string Name;
public Score(){}
public Score(string name, long total)
{
Total = total;
Name = name;
}
}
Этот код, который я хочу использовать в качестве структуры данных (n-уровневая архитектура) как в MONO, так и в качестве клиентской структуры, а на моем сервере ASP.NET я также использую его в качестве серверного объекта.
Я хочу создать массив списков следующим образом:
List<Score> hiscores = new List<Score>();
hiscores.add (new Score("Player 1", 10000));
hiscores.add (new Score("Player 2", 20000));
hiscores.add (new Score("Player 3", 30000));
hiscores.add (new Score("Player 4", 40000));
... затем я хочу сериализовать его в байтовый массив, чтобы я мог поместить его в двоичный файл:
MemoryStream membytes = new MemoryStream();
BinaryFormatter binFormatter = new BinaryFormatter();
binFormatter.Serialize(membytes, hiscores );
...
НО - на веб-сервере в ASP.NET/C# я получаю ошибку 500, сообщающую, что он не может загрузить сборку для десериализации данных ???
да ?!Я читал кого-то, предлагающего сделать сборку как внешнюю?а затем связать его на обеих платформах, возможно ли это в моей ситуации или я как-то не на том пути?
Я могу легко перенести простой байтовый массив со значениями от 0x00 до 0xff в мой ASP.NET и сохранить его,Но как только я начну использовать сериализацию / десериализацию в своих объектах List и перенести их в байт [], что может испортить ситуацию??
Можно ли поместить объекты данных (бизнес-объекты) в проект DLL, а затем связать / использовать их на обеих платформах и таким образом получить одинаковое значение сборки?