Нужно ли нам иметьатрибут для класса BO, который находится на сервере приложений? - PullRequest
2 голосов
/ 06 декабря 2011

У меня есть следующая архитектура для моего проекта:

Пользовательский интерфейс -> Веб-сервер -> Сервер приложений -> База данных

Я использую архитектуру SOA для своего проекта.Моя веб-служба находится на AppServer с BL (бизнес-уровень) / BO (бизнес-объект) / DAL (уровень доступа к данным).Я разоблачаю BL с помощью веб-службы.Я получаю ссылку на эту веб-службу в WebServer, создавая прокси-сервер с помощью WSDL.exe.Теперь мой вопрос:

Нужно ли мне иметь атрибут для моего BO (бизнес-объекта), чтобы открыть его для WebServer, как показано ниже?

<Serializable()>
Public Class MyClass

End Class

или нам вообще не нужен этот атрибут?Я в некотором замешательстве.Кстати, мой веб-сервер - это другой компьютер, а AppServer - другой компьютер.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2011

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

В качестве пояснения, атрибут Serializable, как правило, необходим только в том случае, если объект сериализуется реалитором IFormatter, таким как BinaryFormatter или SoapFormatter, оба из которых используются в .Net Remoting.

Эта статья MSDN была создана для .Net 1.1, но все еще содержит много полезной информации.

0 голосов
/ 06 декабря 2011

Если вы собираетесь использовать MyClass в качестве типа возврата веб-службы, то да, он должен быть сериализуемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...