WCF и анонимные типы

Можно зарегистрировать изменения. SQL Server 2008 сделает это особенно легким со Сбором данных Изменения. Но SQL Server не очень хорош во входе, ВЫБИРАЕТ.

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

Один важный момент пара других уже отсутствовали: если они не изменили что-то на 2008, что я не слышал о, Вы не можете инициировать ВЫБОР.

7
задан marc_s 14 October 2009 в 16:10
поделиться

5 ответов

Вы не можете вернуть анонимный тип из любого метода, не так ли? Так почему бы вам вернуть его из WCF?

3
ответ дан 7 December 2019 в 03:18
поделиться

Нет, это не так. Вам нужно будет заранее определить свои типы.

0
ответ дан 7 December 2019 в 03:18
поделиться

Вы не можете использовать анонимные типы, но, может быть, вы говорите о WCF и нетипизированных сообщениях?

В WCF есть возможность просто определить параметр типа Сообщение (и, возможно, возвращаемое значение того же типа). Это просто необработанное сообщение, которое отправляется в WCF (и возвращается из него).

Я не могу найти там много хорошей информации - есть документация на MSDN, но лучшее, что я видел до сих пор, - это Курт Клэйс 'Сообщение в блоге WCF: Нетипизированные сообщения об операциях WCF .

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

Марк

4
ответ дан 7 December 2019 в 03:18
поделиться

Хорошо, я понимаю. Но тогда, если я определю тип - MyObj - для этого и отметьте его члены IsRequired = false, как могу ли я создать + отправить через экземпляр MyObj только с некоторыми из члены? Возможно ли это ??

Взгляните на [DataMember (EmitDefaultValue = false)]

1
ответ дан 7 December 2019 в 03:18
поделиться

Вы определенно можете возвращать анонимные типы. Это работает, например:

public object GetLatestPost()
{
  XDocument feedXML = XDocument.Load("http://feeds.encosia.com/Encosia");

  var posts = from feed in feedXML.Descendants("item")
                   select new
                   {
                     Title = feed.Element("title").Value,
                     Link = feed.Element("link").Value,
                     Description = feed.Element("description").Value
                   };

  return posts.First();
}

Если вы вызываете этот метод как WebMethod ASMX ScriptService, вы получите из него этот JSON:

{"d":
    {"Title":"Using an iPhone with the Visual Studio development server",
     "Link":"http://feeds.encosia.com/~r/Encosia/~3/vQoxmC6lOYk/",
     "Description":" Developing iPhone-optimized portions of an ASP.NET ..."}}

Вы можете использовать возвращаемый тип IEnumerable, чтобы также вернуть коллекцию анонимных типов.

0
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: