<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Portfolio-site Florian de Groot</title>
	<atom:link href="http://fdegroot.net/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://fdegroot.net</link>
	<description>Mij werkzaamheden van af jaar 1 bij MT</description>
	<lastBuildDate>Thu, 20 Oct 2011 22:24:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Stage by Florian</title>
		<link>http://fdegroot.net/jaar-4/stage#comment-21</link>
		<dc:creator>Florian</dc:creator>
		<pubDate>Thu, 20 Oct 2011 22:24:19 +0000</pubDate>
		<guid isPermaLink="false">http://fdegroot.net#comment-21</guid>
		<description>Asynchrone Communicatie

Voor communicatie maakt de Windows Phone 7 (WP7) gebruik van Asynchrone communicatie. Dit betekend voor WP7 ontwikkeling dat je een functie aan roept die buiten de standaard line valt.

WP7 kan meerdere taken tegelijk uitvoeren maar werkt binnen een taak liniare. 

Dit betekent voor asyncrone communicatie dat het na de aangeroepen code wordt uitgevoerd. Het probleem is dan ook dat de data die je dan terug stuurt buiten de functie scoop valt.

Je zou dit op 2 manier kunnen opvangen om het toch binnen een functie te kunnen gebruiken. 1 een timer maken die controleren of de asynchrone communicatie geslaagd is of door de communicatie functie aan te laten roepen.

Ik heb beide manieren gebruikt. Om te beginnen met de timer.

[Code van timer]

Ik vond zelf hier een klein nadeel aan hangen door dat je uit einderlijk een probleem had dat je in een andere thread zit te werken als je ook doet met asyncrone communicatie, beide hebben het probleem dat ze niet kunnen communiceren met de normaal thread.

Om hier uit de normale thread aan te spreken heb je een Dispatcher nodig.

&lt;code&gt;Dispatcher.BeginInvoke( () =&gt; {
   // This code is on the UI thread.
});&lt;/code&gt;

Ik moet bekennen dat ik heel dit deel niet echt tot in de puntjes begrijpt.</description>
		<content:encoded><![CDATA[<p>Asynchrone Communicatie</p>
<p>Voor communicatie maakt de Windows Phone 7 (WP7) gebruik van Asynchrone communicatie. Dit betekend voor WP7 ontwikkeling dat je een functie aan roept die buiten de standaard line valt.</p>
<p>WP7 kan meerdere taken tegelijk uitvoeren maar werkt binnen een taak liniare. </p>
<p>Dit betekent voor asyncrone communicatie dat het na de aangeroepen code wordt uitgevoerd. Het probleem is dan ook dat de data die je dan terug stuurt buiten de functie scoop valt.</p>
<p>Je zou dit op 2 manier kunnen opvangen om het toch binnen een functie te kunnen gebruiken. 1 een timer maken die controleren of de asynchrone communicatie geslaagd is of door de communicatie functie aan te laten roepen.</p>
<p>Ik heb beide manieren gebruikt. Om te beginnen met de timer.</p>
<p>[Code van timer]</p>
<p>Ik vond zelf hier een klein nadeel aan hangen door dat je uit einderlijk een probleem had dat je in een andere thread zit te werken als je ook doet met asyncrone communicatie, beide hebben het probleem dat ze niet kunnen communiceren met de normaal thread.</p>
<p>Om hier uit de normale thread aan te spreken heb je een Dispatcher nodig.</p>
<p><code>Dispatcher.BeginInvoke( () => {<br />
   // This code is on the UI thread.<br />
});</code></p>
<p>Ik moet bekennen dat ik heel dit deel niet echt tot in de puntjes begrijpt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Stage by Florian</title>
		<link>http://fdegroot.net/jaar-4/stage#comment-20</link>
		<dc:creator>Florian</dc:creator>
		<pubDate>Mon, 17 Oct 2011 14:38:27 +0000</pubDate>
		<guid isPermaLink="false">http://fdegroot.net#comment-20</guid>
		<description>Communciatie Met API

Vorige week stond het probleem &quot;Hoe data op te halen via GET&quot; via me huidige Communicatie functie.
Na een beetje zoeken blijkt dat je via een HttpRequest geen GET kan op kan vragen omdat deze funciet een Body verlangd. Dus als je er een GET mee stuurd krijg je de melding terug dat de Method niet klopt. Oke Dan de vraag hoe je dan een GET kan opvragen. Heel makkelijk, je maakt gebruik van een WebClient die kan wel werken met GET.

&lt;code&gt;// Nieuwe WebClient aanmaken
                    WebClient request = new WebClient();
                    // Header aan de WebClient toevoegen 
                    // Dit kan fout zijn
                    // Huidige situatie = [Sessie_ID]:[Sessie-code]
                    request.Headers[headerM] = headerV;

                    // Test of de URL er goed doorheen komt.
                    Debug.WriteLine(uri);
                    
                    // Ik weet niet echt het verschil tussen DowloadString en OpenRead
                    // Ze schrijnen allebij het zelde te doen. In dit geval is niet werken
                    
                    //request.DownloadStringAsync(uri);
                    //request.DownloadStringCompleted += new DownloadStringCompletedEventHandler(getStreamComplete);
                    request.OpenReadAsync(uri);
                    request.OpenReadCompleted += new OpenReadCompletedEventHandler(getStreamComplete);&lt;/code&gt;


Oke die werkt, ik krijg geen melding dat de Method verkeerd is. Nu geeft hij gelijk terug dat de link niet goed is, want hij krijgt geen data terug. Het volgende probleem. Hoe krijg je de link er goed in met Header.

&lt;code&gt;System.Net.WebException: The remote server returned an error: NotFound. ---&gt; System.Net.WebException: The remote server returned an error: NotFound.
   at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.ClientHttpWebRequest.&lt;&gt;c__DisplayClass2.&lt;EndGetResponse&gt;b__1(Object sendState)
   at System.Net.Browser.AsyncHelper.&lt;&gt;c__DisplayClass4.&lt;BeginOnUI&gt;b__0(Object sendState)
   at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark&amp; stackMark)
&lt;/code&gt;

oke de volgende link moet werken &quot;https://api.sense-os.nl/sensors?page=0&amp;details=full&quot; heb de link nu 3 keer getest. Dus het probleem zal bij de Header of bij de sessie_id liggen. Alleen de sessie_id moet in de header komen. 
Dus de 2 volgende problemen word de sessie goed in de Header geplaatst en of is de sessie wel werkbaar.

Het probleem is nu opgelost:
Het probleem zat zo als ik vermoede in de Header. Ik had een paar spel fouten er in gemaakt.
De Goede oplossing is: 
&lt;code&gt;
// Dit geeft de waarde aan die de sessie heeft, zonder het voorvoegsel van sessie_id.
String strAlter = Communicatie.SessionHandler.sessionHandler.Substring(15, 27);
request.Headers[&quot;X-SESSION_ID&quot;] = strAlter;
&lt;/code&gt;


Ben je je code aan het opschonen die ik net gemaakt heb blijkt er in het eind product een fout te staan dat een probleem geeft.
Ik had er voor namelijk om te testen in de code een standaard link gezet om te testen. Deze link had ik met het opschonen er uit gehaald omdat ik er een regel er boven de volgende tekst had:
&lt;code&gt;// Maken van de uri string
            String baseUri = &quot;http://api.sense-os.nl/&quot;;
            Uri uri = new Uri(baseUri + requestUri);&lt;/code&gt;

Helaas bleek er geen &quot;http&quot; te staan maar https. wat weer tot het oude frustrerende probleem kwam. terwijl ik later hoorde dat de server wel &quot;https&quot; aan zou moet kunnen.

Maar dit deel is voor nu afgesloten nu naar het omzetten van json in iets begrijpelijks.

</description>
		<content:encoded><![CDATA[<p>Communciatie Met API</p>
<p>Vorige week stond het probleem &#8220;Hoe data op te halen via GET&#8221; via me huidige Communicatie functie.<br />
Na een beetje zoeken blijkt dat je via een HttpRequest geen GET kan op kan vragen omdat deze funciet een Body verlangd. Dus als je er een GET mee stuurd krijg je de melding terug dat de Method niet klopt. Oke Dan de vraag hoe je dan een GET kan opvragen. Heel makkelijk, je maakt gebruik van een WebClient die kan wel werken met GET.</p>
<p><code>// Nieuwe WebClient aanmaken<br />
                    WebClient request = new WebClient();<br />
                    // Header aan de WebClient toevoegen<br />
                    // Dit kan fout zijn<br />
                    // Huidige situatie = [Sessie_ID]:[Sessie-code]<br />
                    request.Headers[headerM] = headerV;</p>
<p>                    // Test of de URL er goed doorheen komt.<br />
                    Debug.WriteLine(uri);</p>
<p>                    // Ik weet niet echt het verschil tussen DowloadString en OpenRead<br />
                    // Ze schrijnen allebij het zelde te doen. In dit geval is niet werken</p>
<p>                    //request.DownloadStringAsync(uri);<br />
                    //request.DownloadStringCompleted += new DownloadStringCompletedEventHandler(getStreamComplete);<br />
                    request.OpenReadAsync(uri);<br />
                    request.OpenReadCompleted += new OpenReadCompletedEventHandler(getStreamComplete);</code></p>
<p>Oke die werkt, ik krijg geen melding dat de Method verkeerd is. Nu geeft hij gelijk terug dat de link niet goed is, want hij krijgt geen data terug. Het volgende probleem. Hoe krijg je de link er goed in met Header.</p>
<p><code>System.Net.WebException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound.<br />
   at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)<br />
   at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass2.<endgetresponse>b__1(Object sendState)<br />
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<beginonui>b__0(Object sendState)<br />
   at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark&#038; stackMark)<br />
</beginonui></endgetresponse></code></p>
<p>oke de volgende link moet werken &#8220;https://api.sense-os.nl/sensors?page=0&#038;details=full&#8221; heb de link nu 3 keer getest. Dus het probleem zal bij de Header of bij de sessie_id liggen. Alleen de sessie_id moet in de header komen.<br />
Dus de 2 volgende problemen word de sessie goed in de Header geplaatst en of is de sessie wel werkbaar.</p>
<p>Het probleem is nu opgelost:<br />
Het probleem zat zo als ik vermoede in de Header. Ik had een paar spel fouten er in gemaakt.<br />
De Goede oplossing is:<br />
<code><br />
// Dit geeft de waarde aan die de sessie heeft, zonder het voorvoegsel van sessie_id.<br />
String strAlter = Communicatie.SessionHandler.sessionHandler.Substring(15, 27);<br />
request.Headers["X-SESSION_ID"] = strAlter;<br />
</code></p>
<p>Ben je je code aan het opschonen die ik net gemaakt heb blijkt er in het eind product een fout te staan dat een probleem geeft.<br />
Ik had er voor namelijk om te testen in de code een standaard link gezet om te testen. Deze link had ik met het opschonen er uit gehaald omdat ik er een regel er boven de volgende tekst had:<br />
<code>// Maken van de uri string<br />
            String baseUri = "http://api.sense-os.nl/";<br />
            Uri uri = new Uri(baseUri + requestUri);</code></p>
<p>Helaas bleek er geen &#8220;http&#8221; te staan maar https. wat weer tot het oude frustrerende probleem kwam. terwijl ik later hoorde dat de server wel &#8220;https&#8221; aan zou moet kunnen.</p>
<p>Maar dit deel is voor nu afgesloten nu naar het omzetten van json in iets begrijpelijks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Stage by rslootweg</title>
		<link>http://fdegroot.net/jaar-4/stage#comment-19</link>
		<dc:creator>rslootweg</dc:creator>
		<pubDate>Fri, 14 Oct 2011 09:45:39 +0000</pubDate>
		<guid isPermaLink="false">http://fdegroot.net#comment-19</guid>
		<description>Zoals vanmorgen besporken:
probeer je probleem goed te omschrijven en welke methoden je hebt gebruik om een oplossing te vinden.
- asynchrone communicatie Phone 7 issue?
- extra timer ingebouwd, deel van t probleem opgelost.
- hoofdclasse , static...., classe binnen hoofdclasse gebruikt om ...
Kan je hier proberen een duidelijk verhaal van te maken? Dus asynchrone communicatie op Phone 7 als probleem (wat bijvoorbeeld niet op een iPhone of Android speelt?)
Succes!</description>
		<content:encoded><![CDATA[<p>Zoals vanmorgen besporken:<br />
probeer je probleem goed te omschrijven en welke methoden je hebt gebruik om een oplossing te vinden.<br />
- asynchrone communicatie Phone 7 issue?<br />
- extra timer ingebouwd, deel van t probleem opgelost.<br />
- hoofdclasse , static&#8230;., classe binnen hoofdclasse gebruikt om &#8230;<br />
Kan je hier proberen een duidelijk verhaal van te maken? Dus asynchrone communicatie op Phone 7 als probleem (wat bijvoorbeeld niet op een iPhone of Android speelt?)<br />
Succes!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

