<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: ReactiveCollection</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72495.aspx</link><pubDate>Wed, 17 Apr 2013 22:25:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72495</guid><dc:creator>Aggelos Biboudis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72495.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=72495</wfw:commentRss><description>Υποπτεύομαι ότι θέλει να παρεμβάλεις κάποιο TakeUntil combinator πριν το Subscribe του δεύτερου.&lt;br&gt;</description></item><item><title>ReactiveCollection</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/72493.aspx</link><pubDate>Wed, 17 Apr 2013 17:28:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:72493</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/72493.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=72493</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Λοιπόν, έχουμε ένα&amp;nbsp;ObservableCollection&amp;nbsp;που λέγεται Feeds και περιέχει κάποια URLs που&amp;nbsp;είναι RSS Feeds. Φορτώνω το feed και το περνάω από ένα async process που ξεχωρίζει δύο links για κάθε item του feed. Αυτά τα ρίχνει σε ένα ReactiveCollection και μόλις πέσουν μέσα τα τσιμπάει ο subscriber του ItemsAdded και τα περνάει από ένα δεύτερο process. Δουλεύει μια χαρά. Το θέμα είναι ότι ο subscriber περιμένει συνεχώς για νέα items οπότε δεν μπορώ να ξέρω πότε έχει τελειώσει η διαδικασία. Υπάρχει τρόπος να το βελτιώσω ώστε μπορώ να ξέρω πότε έχει τελειώσει;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre style="font-family:Consolas;font-size:13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;source&amp;nbsp;&lt;span&gt;=&lt;/span&gt;&amp;nbsp;Feeds&lt;span&gt;.&lt;/span&gt;ToObservable();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceList&amp;nbsp;&lt;span&gt;=&lt;/span&gt;&amp;nbsp;&lt;span&gt;new&lt;/span&gt;&amp;nbsp;ReactiveUI&lt;span&gt;.&lt;/span&gt;&lt;span&gt;ReactiveCollection&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;string&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;var&lt;/span&gt;&amp;nbsp;source2&amp;nbsp;&lt;span&gt;=&lt;/span&gt;&amp;nbsp;resourceList&lt;span&gt;.&lt;/span&gt;ToObservable();
&lt;br&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;IObserver&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Feed&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;obs1&amp;nbsp;&lt;span&gt;=&lt;/span&gt;&amp;nbsp;&lt;span&gt;Observer&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;Create&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Feed&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(x)&amp;nbsp;&lt;span&gt;=&amp;gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProcessFeed(x);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ex)&amp;nbsp;&lt;span&gt;=&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span&gt;Debug&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;WriteLine(&lt;span&gt;"OnError&amp;nbsp;::&amp;nbsp;"&lt;/span&gt;&amp;nbsp;&lt;span&gt;+&lt;/span&gt;&amp;nbsp;ex&lt;span&gt;.&lt;/span&gt;Message),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;()&amp;nbsp;&lt;span&gt;=&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span&gt;Debug&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;WriteLine(&lt;span&gt;"ProcessFeed&amp;nbsp;Completed"&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);
&lt;br&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceList&lt;span&gt;.&lt;/span&gt;ItemsAdded&lt;span&gt;.&lt;/span&gt;Subscribe(x&amp;nbsp;&lt;span&gt;=&amp;gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProcessUrl(x);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&amp;nbsp;()&amp;nbsp;&lt;span&gt;=&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span&gt;Debug&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;WriteLine(&lt;span&gt;"ProcessUrl&amp;nbsp;Completed"&lt;/span&gt;));
&lt;br&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;IDisposable&lt;/span&gt;&amp;nbsp;sub1&amp;nbsp;&lt;span&gt;=&lt;/span&gt;&amp;nbsp;source&lt;span&gt;.&lt;/span&gt;Subscribe(obs1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sub1&lt;span&gt;.&lt;/span&gt;Dispose();&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>