Здравствуйте, snaphold, Вы писали:
S>Здравствуйте, Danchik, Вы писали:
S>а почему тогда они до сих пор не исключили этот класс из последних версий фреймоврка если не советуют?
потому что этих ридеров целый зоопарк, вполне возможно что этот класс подходит для ряда задач лучше,
чтобы проще было выбирать ридер сделали фабричный метод Create который отдаст нужную реализацию.
емнип раньше не было task — based методов в XmlReader и их добавили позже, а имплементировать во всех наследниках
оказалось сложно или невозможно или...
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Здравствуйте, snaphold, Вы писали:
S>на таком коде получаю System.NotImplementedException: 'The method or operation is not implemented.' S>
S> async public void Parse()
S> {
S> CancellationToken token = new CancellationToken();
S> var path = @"C:\repos\ConsoleApp7\ConsoleApp7\bin\test2.xml";
S> var xmlTextReader = new XmlTextReader(path);
S> var data = await XDocument.LoadAsync(xmlTextReader, LoadOptions.PreserveWhitespace, token);
S> }
S>
S>что не так с кодом?
var xmlTextReader = XmlReader.Create(path, new XmlReaderSettings { Async = true });
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
на таком коде получаю System.NotImplementedException: 'The method or operation is not implemented.'
async public void Parse()
{
CancellationToken token = new CancellationToken();
var path = @"C:\repos\ConsoleApp7\ConsoleApp7\bin\test2.xml";
var xmlTextReader = new XmlTextReader(path);
var data = await XDocument.LoadAsync(xmlTextReader, LoadOptions.PreserveWhitespace, token);
}
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, snaphold, Вы писали:
S>>что не так с кодом?
D>Скорее всего в вашей версии фреймворка или .NET Core XDocument.LoadAsync не имплементирован.
Здравствуйте, snaphold, Вы писали:
S>Здравствуйте, Danchik, Вы писали:
D>>Здравствуйте, snaphold, Вы писали:
S>>>что не так с кодом?
D>>Скорее всего в вашей версии фреймворка или .NET Core XDocument.LoadAsync не имплементирован.
S>у меня .net core 2.1 S>пишут имплементирован. S>куда копать?
Ну репродюснул я, по стеку то видно что XmlTextReader не имплементит ReadAsync.
Вот так должно работать
public async Task Parse()
{
CancellationToken token = new CancellationToken();
var path = @"C:\repos\ConsoleApp7\ConsoleApp7\bin\test2.xml";
using (var xmlTextReader = XmlReader.Create(path, new XmlReaderSettings { Async = true }))
{
var data = await XDocument.LoadAsync(xmlTextReader, LoadOptions.PreserveWhitespace, token);
}
}
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, snaphold, Вы писали:
S>>Здравствуйте, Danchik, Вы писали:
D>>>Здравствуйте, snaphold, Вы писали:
S>>>>что не так с кодом?
D>>>Скорее всего в вашей версии фреймворка или .NET Core XDocument.LoadAsync не имплементирован.
S>>у меня .net core 2.1 S>>пишут имплементирован. S>>куда копать?
D>Ну репродюснул я, по стеку то видно что XmlTextReader не имплементит ReadAsync.
Здравствуйте, snaphold, Вы писали:
D>>Ну репродюснул я, по стеку то видно что XmlTextReader не имплементит ReadAsync.
S>а как и где ты увидел это?
Посмотрел в детали Exception:
System.NotImplementedException
HResult=0x80004001
Message=The method or operation is not implemented.
Source=System.Private.Xml
StackTrace:
at System.Xml.XmlReader.ReadAsync()
at System.Xml.Linq.XDocument.<LoadAsyncInternal>d__25.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at TestLoadAsync.Program.<Main>d__0.MoveNext() in C:\Users\sdanyliv\source\repos\TestLoadAsync\TestLoadAsync\Program.cs:line 22
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at TestLoadAsync.Program.<Main>(String[] args)
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, snaphold, Вы писали:
D>>>Ну репродюснул я, по стеку то видно что XmlTextReader не имплементит ReadAsync.
S>>а как и где ты увидел это?
D>Посмотрел в детали Exception:
а это нормально, что в релизе фреймворка есть функция которая кидает такое?
зачем ее включать?
можно ли как-то самому написать реализацию этой функции ReadAsync?
Здравствуйте, snaphold, Вы писали:
S>а это нормально, что в релизе фреймворка есть функция которая кидает такое? S>зачем ее включать? S>можно ли как-то самому написать реализацию этой функции ReadAsync?
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, snaphold, Вы писали:
S>>а это нормально, что в релизе фреймворка есть функция которая кидает такое? S>>зачем ее включать? S>>можно ли как-то самому написать реализацию этой функции ReadAsync?
D>Во первых зачем? Вам же написали решение.
просто интересно возможно ли это. Думал может с помощью рослина можно както
D>Скорее всего для .NET Core она не реализована, а это не .NET Framework, а либу то тянуть в референсах надо.
вот это не понял. можно подробнее. в мсдн написано про данную ф-ю в данном классе что версия с 2.1 поддерживается.
для коре и обычного фреймворка ведь 2 разные длл и 2 реализации, верно?
D>а либу то тянуть в референсах надо.