2012-05-07 2 views
1

Службы ASMX не имеют возможности повторно использовать библиотеку классов Silverlight, а для приложения Silverlight требуется специальная библиотека классов, а не библиотека классов C#. Поэтому мне пришлось дублировать код библиотеки классов C# в библиотеке классов Silverlight для работы с моим приложением Silverlight, теперь это не проблема. Я хотел бы получить технические ответы (по возможности, по возможности)Библиотека классов C#, библиотека классов Silverlight, веб-службы asmx WTH

  • Почему Silverlight нуждается в специальной библиотеке классов Silverlight. Несмотря на то, что работает над слоем на CLR

  • Методы на службе ASMX возвращает C библиотечные объекты # класса, то почему это не castable к аналогичному классу SilverLight

  • Как я сделать работу ASMX службы с таким же классом (поскольку объекты, возвращенные из webservice, не отображают на них методы в intellisense)

+0

У меня нет ответов на ваши вопросы, кроме подсказок: знаете ли вы «Портативные библиотеки классов»? Он намерен решить именно эту проблему: http://msdn.microsoft.com/en-us/library/gg597391.aspx – Leo

+0

@ Leo спасибо за отзыв, но когда я добавил ссылку на службу asmx, меня приветствует ** когда-либо любящий alert box ** '" Этот проект не поддерживает переносимую библиотеку классов ". Я думаю, что пришло время, чтобы я отключил службу asmx. – Deeptechtons

+0

Я думал больше о добавлении класса, возвращаемого вашей службой в портативную библиотеку, но я думаю, что это не так работа тоже ... взгляните на ответ на этот вопрос: http://stackoverflow.com/questions/3584381/class-libraries-silverlight-and-webservices - я бы сказал, что это очень хороший совет. Уверяю вас, что если вы можете отказаться от asmx, вы не будете регрессировать;) – Leo

ответ

0

ОК вот ответ. Библиотеки классов Silverlight совместимы со всеми платформами .NET (поскольку они лишены версии). Просто сделайте это, скомпилируйте библиотеку классов для сборки, а затем добавьте ссылку (вместо этого добавьте в проект).

  • Silverlight библиотека классов делает дополнительные ссылки (для сборок, которые нацелены на SilverLight платформу) за кулисами, следовательно, Silverlight также нуждается эти ссылки работать правильно

  • Создать экземпляр класса снова (Нет простой способ сделать это)

  • Методы на самом деле являются метаданными, они не могут быть перенесены через провод в вызове webservice. Вы можете вызвать методы, когда объекты будут построены снова из данных

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