Nirth
18.09.2006, 00:40
Делаю клиент к вебсервису с помощью Microsoft Expression, сам веб сервис возвращает объекты не совсем в приемлимом виде, поэтому решил их отпарсить в более логичный, но из-за метода приложение виснет, и выдает ошибку:
15203
и тут подробнее
15204
Сам парсер выглядит так:
public class MXNAMap:System.Collections.ArrayList
{
public MXNAMap(QueryBean query)
{
string[] data = query.columnList;
for (int i = 0 ; i < data.Length ; i++)
{
Add(data[i]);
}
}
public int GetIndex(string key)
{
return IndexOf(key);
}
}
public class PostsParser:System.Collections.ArrayList
{
public PostsParser(QueryBean query,TextBox output)
{
MXNAMap m = new MXNAMap(query);
//output.Text = m.GetIndex("postLink").ToString();
foreach (string[] item in query.data)
{
string title = item[m.GetIndex("postTitle")];
string link = item[m.GetIndex("postLink")];
string content = item[m.GetIndex("postExcerpt")];
//output.Text += title + "\n";
Add(new FeedEntry(title, link, content));
}
}
}
при комментировании цикла, все пашет на ура, но тогда и не парсится =)
Самое интересное что если запустить это под NET 2.0, например из консоли, то все работает, как надо.
вот сам проект 15205
PS используется Microsoft Expression Interactive Designer September 2006 CTP
15203
и тут подробнее
15204
Сам парсер выглядит так:
public class MXNAMap:System.Collections.ArrayList
{
public MXNAMap(QueryBean query)
{
string[] data = query.columnList;
for (int i = 0 ; i < data.Length ; i++)
{
Add(data[i]);
}
}
public int GetIndex(string key)
{
return IndexOf(key);
}
}
public class PostsParser:System.Collections.ArrayList
{
public PostsParser(QueryBean query,TextBox output)
{
MXNAMap m = new MXNAMap(query);
//output.Text = m.GetIndex("postLink").ToString();
foreach (string[] item in query.data)
{
string title = item[m.GetIndex("postTitle")];
string link = item[m.GetIndex("postLink")];
string content = item[m.GetIndex("postExcerpt")];
//output.Text += title + "\n";
Add(new FeedEntry(title, link, content));
}
}
}
при комментировании цикла, все пашет на ура, но тогда и не парсится =)
Самое интересное что если запустить это под NET 2.0, например из консоли, то все работает, как надо.
вот сам проект 15205
PS используется Microsoft Expression Interactive Designer September 2006 CTP