Здравствуйте, Serginio1, Вы писали:
S>Написал одноименную статью. Может кому пригодится. S>.Net Core, WCF и ODATA клиенты
Я так и не понял, вы смогли решить проблему с чтением результатов в виде DataSet или нет?
А то в статье есть только
Так как с DataSet идет схема. Я вспомнил про Accessing XML Schema Information During Document Validation и хотел сделать чтение по схеме в ExpandoObject. Но в .Net Core пока нет XmlSchema.
И еще — может я слишком бегло смотрел, но я не нашел примера использования сервиса — только пример настройки.
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, Serginio1, Вы писали:
S>>Написал одноименную статью. Может кому пригодится. S>>.Net Core, WCF и ODATA клиенты МР>Я так и не понял, вы смогли решить проблему с чтением результатов в виде DataSet или нет? МР>А то в статье есть только МР>
Так как с DataSet идет схема. Я вспомнил про Accessing XML Schema Information During Document Validation и хотел сделать чтение по схеме в ExpandoObject. Но в .Net Core пока нет XmlSchema.
Я показал пример.
var dataset = await client.EnumValutesAsync(false);
Который вместо DataSet возвращает ArrayOfXElement. Все работает. МР>И еще — может я слишком бегло смотрел, но я не нашел примера использования сервиса — только пример настройки.
Правда доступ к кишкам только через OperationContextScope
using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
{
var httpRequestProperty = new HttpRequestMessageProperty();
httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " +
Convert.ToBase64String(Encoding.UTF8.GetBytes(client.ClientCredentials.UserName.UserName + ":" +
client.ClientCredentials.UserName.Password));
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] =
httpRequestProperty;
}
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> Я показал пример. S> Который вместо DataSet возвращает ArrayOfXElement. Все работает.
Хм... Я правильно понимаю, что ArrayOfXElement это XElement[]? Т.е. массив XML-фрагментов?
Мне кажется что при таком результате как-то не очевидна польза от использования WCF, т.к. всё равно результат придется парсить руками, а это можно было сделать и просто поверх обычного HttpClient (ну парсить пришлось бы больше, это правда).
Возможно, просто пример сервиса попался не слишком удачный.
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, Serginio1, Вы писали:
S>> Я показал пример. S>> Который вместо DataSet возвращает ArrayOfXElement. Все работает. МР>Хм... Я правильно понимаю, что ArrayOfXElement это XElement[]? Т.е. массив XML-фрагментов? МР>Мне кажется что при таком результате как-то не очевидна польза от использования WCF, т.к. всё равно результат придется парсить руками, а это можно было сделать и просто поверх обычного HttpClient (ну парсить пришлось бы больше, это правда).
МР>Возможно, просто пример сервиса попался не слишком удачный.
Да. Но это обычная проактика, для структур которые WCF не может определить.
public partial class ArrayOfXElement : object, System.Xml.Serialization.IXmlSerializable
{
private System.Collections.Generic.List<System.Xml.Linq.XElement> nodesList = new System.Collections.Generic.List<System.Xml.Linq.XElement>();
public ArrayOfXElement()
{
}
public virtual System.Collections.Generic.List<System.Xml.Linq.XElement> Nodes
{
get
{
return this.nodesList;
}
}
public virtual System.Xml.Schema.XmlSchema GetSchema()
{
throw new System.NotImplementedException();
}
Можно по схеме Создать классы и десериализовать. Для меня главное посмтреть как работает под .Net Core и чего не хватает по сравнению с большим .Net.
Там кстати есть аналоги но с XML
public System.Threading.Tasks.Task<System.Xml.Linq.XElement> EnumValutesXMLAsync(bool Seld)
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> Это понятно. Можно распарсить в ExpandoObject. Можно по схеме Создать классы и десериализовать. Для меня главное посмтреть как работает под .Net Core и чего не хватает по сравнению с большим .Net.
Я понимаю, просто хочу сказать, что, мне кажется, что статья сильно бы выиграла, если бы вы довели пример до уровня "бери и используй".
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, Serginio1, Вы писали:
S>> Это понятно. Можно распарсить в ExpandoObject. Можно по схеме Создать классы и десериализовать. Для меня главное посмтреть как работает под .Net Core и чего не хватает по сравнению с большим .Net. МР>Я понимаю, просто хочу сказать, что, мне кажется, что статья сильно бы выиграла, если бы вы довели пример до уровня "бери и используй".
Ну по сути то там так же как и большом .Net. Я написал какие есть отличия. Там и так большой объем получился.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, Serginio1, Вы писали:
S>> Это понятно. Можно распарсить в ExpandoObject. Можно по схеме Создать классы и десериализовать. Для меня главное посмтреть как работает под .Net Core и чего не хватает по сравнению с большим .Net. МР>Я понимаю, просто хочу сказать, что, мне кажется, что статья сильно бы выиграла, если бы вы довели пример до уровня "бери и используй".
Михаил, а есть какие то сервисы для тестов SignalR? Пока для 2.2
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> Михаил, а есть какие то сервисы для тестов SignalR? Пока для 2.2
Не встречал.
Подозреваю, что нет, т.к., как я понимаю, это не како-то стандарт, а всего лишь реализация push-фреймворка поверх нескольких транспортов (от длинного запроса до web sockets).
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, Serginio1, Вы писали:
S>> Михаил, а есть какие то сервисы для тестов SignalR? Пока для 2.2 МР>Не встречал. МР>Подозреваю, что нет, т.к., как я понимаю, это не како-то стандарт, а всего лишь реализация push-фреймворка поверх нескольких транспортов (от длинного запроса до web sockets).