<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Darkleo's Blog</title>
	<link>http://www.darkleo.com/blog</link>
	<description>Ein Schatz, der seinen Besitzer überallhin begleitet.</description>
	<pubDate>Fri, 17 Feb 2012 17:58:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>JSONPI mit ASP.NET</title>
		<link>http://www.darkleo.com/blog/2012/02/11/jsonpi-mit-aspnet/</link>
		<comments>http://www.darkleo.com/blog/2012/02/11/jsonpi-mit-aspnet/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 16:57:20 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2012/02/11/jsonpi-mit-aspnet/</guid>
		<description><![CDATA[JSONPI - ist JSONP + IFrame eine Möglichkeit POST Aufrufe zu erzeugen auf Domains die dem eignen Context nicht angehören zugreifen zu können.
https://github.com/benvinegar/jquery-jsonpi
Das Beispiel läuft mit PHP und hier ein HttpHandler der es ermöglicht JSONPI mit ASP.NET zu verwenden.
&#60;script type="text/javascript"&#62;
$(function () {
$.ajax({
url: 'JSONPI.ashx',
type: 'POST',
dataType: 'jsonpi', // &#60;---
params: { 'resulttype': 'project' },
success: function (response) {
alert(response.length);
}
});
});
&#60;/script&#62;
und hier [...]]]></description>
			<content:encoded><![CDATA[<p>JSONPI - ist JSONP + IFrame eine Möglichkeit POST Aufrufe zu erzeugen auf Domains die dem eignen Context nicht angehören zugreifen zu können.</p>
<p><a href="https://github.com/benvinegar/jquery-jsonpi">https://github.com/benvinegar/jquery-jsonpi</a></p>
<p>Das Beispiel läuft mit PHP und hier ein HttpHandler der es ermöglicht JSONPI mit ASP.NET zu verwenden.</p>
<p>&lt;script type="text/javascript"&gt;</p>
<p>$(function () {</p>
<p>$.ajax({</p>
<p>url: 'JSONPI.ashx',</p>
<p>type: 'POST',</p>
<p>dataType: 'jsonpi', // &lt;---</p>
<p>params: { 'resulttype': 'project' },</p>
<p>success: function (response) {</p>
<p>alert(response.length);</p>
<p>}</p>
<p>});<br />
});</p>
<p>&lt;/script&gt;</p>
<p>und hier noch der HandlerCode:</p>
<p>public void ProcessRequest(HttpContext context)</p>
<p>{<br />
context.Response.ContentType = "text/html";<br />
context.Response.ContentEncoding = System.Text.Encoding.UTF8;</p>
<p>var callback = context.Request.Params["callback"];</p>
<p>List&lt;Project&gt; items = new ProviderFactory().GetProjectProvider().Get();</p>
<p>string json = string.Empty;</p>
<p>System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(List&lt;Project&gt;));</p>
<p>using (MemoryStream ms = new MemoryStream())</p>
<p>{</p>
<p>serializer.WriteObject(ms, items);</p>
<p>json = System.Text.Encoding.UTF8.GetString(ms.ToArray());</p>
<p>}</p>
<p>var output = "&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;" +</p>
<p>"&lt;script&gt;// document.domain = '" + context.Request.UserHostName + "';&lt;/script&gt;" +</p>
<p>"&lt;/head&gt;" +</p>
<p>"&lt;body&gt;" +</p>
<p>"&lt;script type=\"text/javascript\"&gt; window.parent." + callback + "(" + json + ");&lt;/script&gt;" +</p>
<p>"&lt;/body&gt;&lt;/html&gt;";</p>
<p>context.Response.Write(output);</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2012/02/11/jsonpi-mit-aspnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>.NET User Group Dortmund Treffen - 02.11.2011 ab 18:00 Uhr - PowerShell, eine Waffe unter den Entwicklertools!</title>
		<link>http://www.darkleo.com/blog/2011/10/19/net-user-group-dortmund-treffen-02112011-ab-1800-uhr-powershell-eine-waffe-unter-den-entwicklertools/</link>
		<comments>http://www.darkleo.com/blog/2011/10/19/net-user-group-dortmund-treffen-02112011-ab-1800-uhr-powershell-eine-waffe-unter-den-entwicklertools/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 08:26:33 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Allgemein]]></category>

		<category><![CDATA[Community]]></category>

		<category><![CDATA[Softwareentwicklung]]></category>

		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2011/10/19/net-user-group-dortmund-treffen-02112011-ab-1800-uhr-powershell-eine-waffe-unter-den-entwicklertools/</guid>
		<description><![CDATA[Wie an jedem ersten Mi. im Monat treffen wir uns mal wieder in der Umgebung Dortmund.
Sprecher
Ilja Leyberman
Inhalt
PowerShell ist ein mächtiges Werkzeug sowohl für die Entwickler, als auch für die Administratoren, das es erstmal zu beherrschen gilt. Es vereinfach das tägliche Arbeiten und macht dabei sogar richtig Spaß. Deploymen, Systemüberwachung, Datenvisualisierung, Integrationstest, Administration es gibt nichts [...]]]></description>
			<content:encoded><![CDATA[<p>Wie an jedem ersten Mi. im Monat treffen wir uns mal wieder in der Umgebung Dortmund.</p>
<p><strong>Sprecher<br />
</strong>Ilja Leyberman</p>
<p><strong>Inhalt<br />
</strong>PowerShell ist ein mächtiges Werkzeug sowohl für die Entwickler, als auch für die Administratoren, das es erstmal zu beherrschen gilt. Es vereinfach das tägliche Arbeiten und macht dabei sogar richtig Spaß. Deploymen, Systemüberwachung, Datenvisualisierung, Integrationstest, Administration es gibt nichts was PowerShell nicht kann.</p>
<p><strong>Xing Termin<br />
</strong><a target="_blank" href="https://www.xing.com/events/net-user-group-dortmund-treffen-02-11-2011-18-00-powershell-waffe-entwicklertools-826834">https://www.xing.com/events/net-user-group-dortmund-treffen-02-11-2011-18-00-powershell-waffe-entwicklertools-826834</a></p>
<p><strong>Weitere Infos zu der .NET User Group Dortmund und weiteren Terminen<br />
</strong><a href="http://www.do-dotnet.de">www.do-dotnet.de</a></p>
<p>Ich freu mich.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2011/10/19/net-user-group-dortmund-treffen-02112011-ab-1800-uhr-powershell-eine-waffe-unter-den-entwicklertools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Silverlight params aus dem object - Tag</title>
		<link>http://www.darkleo.com/blog/2010/10/06/silverlight-params-aus-dem-object-tag/</link>
		<comments>http://www.darkleo.com/blog/2010/10/06/silverlight-params-aus-dem-object-tag/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 13:38:33 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2010/10/06/silverlight-params-aus-dem-object-tag/</guid>
		<description><![CDATA[Es gibt in Silverlight einen initParameter für alles, ich würde aber gerne eigene Schlüsselwörter verwenden.&#60;object type="application/x-silverlight" 
        width="100%" height="100%"&#62;
  &#60;param name="source"          value="ClientBin/SLInitParams.xap"/&#62;
&#60;!-- startPage key can have values Page1 or Page2 --&#62;
  &#60;param name="initParams"          value="uid=0,token=asdg" /&#62;
&#60;/object&#62; 
Standard ist in den Parameter initParams, parameterliste zu übergeben ich finde es wäre schöner die paremter zu trennen,
und die Idee ist sowas zu verwenden,
&#60;param name="uid" value="0" /&#62;
&#60;param name="token" value="ABFGX00121" /&#62;
zu nutzen und hier [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt in Silverlight einen initParameter für alles, ich würde aber gerne eigene Schlüsselwörter verwenden.<span style="font-family: Verdana, Geneva, Arial, sans-serif; line-height: normal; font-size: small; color: #333333" class="Apple-style-span"><font face="Consolas, Courier New"><span style="color: blue">&lt;</span><span style="color: #a31515">object</span></font><span><font face="Consolas, Courier New"> </font><span style="color: red"><font face="Consolas, Courier New">type</font></span><font face="Consolas, Courier New"><span style="color: blue">="application/x-silverlight"</span> </font></span></span><span style="font-family: Verdana, Geneva, Arial, sans-serif; line-height: 19px; font-size: small; color: #333333" class="Apple-style-span"></span>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><span><span style="color: red"><font face="Consolas, Courier New">        width</font></span><font face="Consolas, Courier New"><span style="color: blue">="100%"</span> <span style="color: red">height</span></font><span style="color: blue"><font face="Consolas, Courier New">="100%"&gt;</font></span></span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><span><span></span><font face="Consolas, Courier New"><span style="color: blue">  &lt;</span><span style="color: #a31515">param</span> <span style="color: red">name</span><span style="color: blue">="source"</span> </font></span><span><span style="color: red"><font face="Consolas, Courier New">         value</font></span><span style="color: blue"><font face="Consolas, Courier New">="ClientBin/SLInitParams.xap"/&gt;</font></span></span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><span><span style="color: green"><font face="Consolas, Courier New">&lt;!-- startPage key can have values Page1 or Page2 --&gt;</font></span></span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><span><span></span><font face="Consolas, Courier New"><span style="color: blue">  &lt;</span><span style="color: #a31515">param</span> <span style="color: red">name</span><span style="color: blue">="initParams"</span> </font><span style="color: red"><font face="Consolas, Courier New">         value</font></span><font face="Consolas, Courier New"><span style="color: blue">="uid=0,token=asdg"</span> </font><span style="color: blue"><font face="Consolas, Courier New">/&gt;</font></span></span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><span><span style="color: blue"></span></span><span style="color: #000000; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 16px; line-height: 20px" class="Apple-style-span"><span style="font-family: Consolas, 'Courier New'; line-height: 14px; font-size: small; color: #333333" class="Apple-style-span"><span style="color: blue">&lt;/</span><span style="color: #a31515">object</span><span style="color: blue">&gt;</span></span> </span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal">Standard ist in den Parameter initParams, parameterliste zu übergeben ich finde es wäre schöner die paremter zu trennen,</p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal">und die Idee ist sowas zu verwenden,</p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><font face="Consolas, Courier New"><span style="color: blue">&lt;</span><span style="color: #a31515">param</span> <span style="color: red">name</span><span style="color: blue">="uid"</span></font><span style="color: red"><font face="Consolas, Courier New"> value</font></span><font face="Consolas, Courier New"><span style="color: blue">="0"</span> </font><span style="color: blue"><font face="Consolas, Courier New">/&gt;</font></span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal"><span style="color: blue"></span><span style="font-family: Consolas, 'Courier New'" class="Apple-style-span"><span style="color: blue">&lt;</span><span style="color: #a31515">param</span> <span style="color: red">name</span><span style="color: blue">="token"</span> </span><span style="color: red"><font face="Consolas, Courier New">value</font></span><font face="Consolas, Courier New"><span style="color: blue">="ABFGX00121"</span> </font><span style="color: blue"><font face="Consolas, Courier New">/&gt;</font></span></p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal">zu nutzen und hier ist die Lösung, ihr könnt es weiter anpassen, dazu muss das div-tag oder object-tag das id=silverlightControlHost Attribute enthalten. Die Params klasse muss bei OnStartup initialisiert werden und die Parameter stehen global zur Verfügung.</p>
<p style="margin-bottom: 0pt; line-height: normal" class="MsoNormal">     /// &lt;summary&gt;</p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    /// App_Sturtup</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    ///    Params.Current.OnStartup(e);             </span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    ///    use: Params.Current.InitParams["uid"];</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    /// &lt;/summary&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    public sealed class Params</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        static readonly Params instance = new Params();</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        public IDictionary&lt;string, string&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            InitParams { get; private set; }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        public static Params Current</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            get</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                return instance;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        public Params()</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// &lt;summary&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// einlesen des InitParams parameters</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// &lt;/summary&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// &lt;param name="e"&gt;&lt;/param&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        public void OnStartup(StartupEventArgs e)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            Params.Current.InitParams = e.InitParams;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            Params.Current.OnParamsFromSilverlightObject("silverlightControlHost");</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        public string OnParamsFromHtmlElementAttribute(string elementId, string attribute)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            HtmlElement element = System.Windows.Browser.HtmlPage.Document.GetElementById(elementId);</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            if (element != null)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                return element.GetAttribute(attribute);</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            return null;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// &lt;summary&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// Einlesen der Parameter aus param</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// &lt;/summary&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        /// &lt;param name="elementId"&gt;parent of object oder object Html-Tag Id&lt;/param&gt;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        public void OnParamsFromSilverlightObject(string elementId)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            HtmlElement element = System.Windows.Browser.HtmlPage.Document.GetElementById(elementId);</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            if (element != null)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                if (element.TagName.ToLower() == "object")</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                    OnHandleHtmlObject(element);</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                else</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                    foreach (var item in element.Children)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                    {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                        var he = item as HtmlElement;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                        if (he != null &amp;&amp; he.TagName.ToLower() == "object")</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                            OnHandleHtmlObject(he);</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                    }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        void OnHandleHtmlObject(HtmlElement element)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            if (element.TagName.ToLower() != "object")</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                throw new NullReferenceException("element");</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            foreach (var item in element.Children)</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                var he=item as HtmlElement;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                if (he == null || (he != null &amp;&amp; he.TagName.ToLower() != "param"))</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                    continue;</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                }                   </span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal"></span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                if (!Params.Current.InitParams.ContainsKey(item.GetProperty("name").ToString()))</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                {</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                    Params.Current.InitParams.Add(item.GetProperty("name").ToString(),</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                        item.GetProperty("value").ToString());</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">                }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">            }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">        }</span></p>
<p style="margin-bottom: 0pt" class="MsoNormal"><span class="Apple-style-span" style="line-height: normal">    }</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2010/10/06/silverlight-params-aus-dem-object-tag/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ein kleiner UND, ODER und NICHT Parser</title>
		<link>http://www.darkleo.com/blog/2010/02/12/ein-kleiner-und-oder-und-nicht-parser/</link>
		<comments>http://www.darkleo.com/blog/2010/02/12/ein-kleiner-und-oder-und-nicht-parser/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 09:21:14 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2010/02/12/ein-kleiner-und-oder-und-nicht-parser/</guid>
		<description><![CDATA[&#160;
public class Parser
&#123;
 Dictionary&#60;string,&#62; status;
 public Parser&#40;Dictionary&#60;string,&#62; status&#41;
 &#123;
  this.status = new Dictionary&#60;string,&#62;&#40;status.Count * 2&#41;;
  foreach &#40;var s in status&#41;
  &#123;
   this.status.Add&#40;s.Key.Trim&#40;&#41;, s.Value&#41;;
   this.status.Add&#40;&#34;!&#34; + s.Key.Trim&#40;&#41;, s.Value ? false : true&#41;;
  &#125;
&#125;
&#160;
public bool Parse&#40;string input&#41;
&#123;
 String&#91;&#93; or = new String&#91;&#93; &#123; &#34;&#124;&#124;&#34; &#125;;
 String&#91;&#93; and = new [...]]]></description>
			<content:encoded><![CDATA[<pre class="csharp">&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> Parser
<span style="color: #000000;">&#123;</span>
 Dictionary&lt;string,&gt; status;
 <span style="color: #0600FF;">public</span> Parser<span style="color: #000000;">&#40;</span>Dictionary&lt;string,&gt; status<span style="color: #000000;">&#41;</span>
 <span style="color: #000000;">&#123;</span>
  <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">status</span> = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Dictionary&lt;string,&gt;<span style="color: #000000;">&#40;</span>status.<span style="color: #0000FF;">Count</span> * <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span>;
  <span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span>var s <span style="color: #0600FF;">in</span> status<span style="color: #000000;">&#41;</span>
  <span style="color: #000000;">&#123;</span>
   <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">status</span>.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>s.<span style="color: #0000FF;">Key</span>.<span style="color: #0000FF;">Trim</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, s.<span style="color: #0000FF;">Value</span><span style="color: #000000;">&#41;</span>;
   <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">status</span>.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;!&quot;</span> + s.<span style="color: #0000FF;">Key</span>.<span style="color: #0000FF;">Trim</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, s.<span style="color: #0000FF;">Value</span> ? <span style="color: #0600FF;">false</span> : <span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span>;
  <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">bool</span> Parse<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> input<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
 <span style="color: #FF0000;">String</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> or = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> <span style="color: #FF0000;">String</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #808080;">&quot;||&quot;</span> <span style="color: #000000;">&#125;</span>;
 <span style="color: #FF0000;">String</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> and = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> <span style="color: #FF0000;">String</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #808080;">&quot;&amp;amp;&amp;amp;&quot;</span> <span style="color: #000000;">&#125;</span>;
 <span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> ors = input.<span style="color: #0000FF;">Split</span><span style="color: #000000;">&#40;</span>or, StringSplitOptions.<span style="color: #0000FF;">RemoveEmptyEntries</span><span style="color: #000000;">&#41;</span>;
 <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> io = <span style="color: #FF0000;">0</span>; io &amp;lt; ors.<span style="color: #0000FF;">Length</span>; io++<span style="color: #000000;">&#41;</span>
 <span style="color: #000000;">&#123;</span>
  <span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> ands = ors<span style="color: #000000;">&#91;</span>io<span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">Split</span><span style="color: #000000;">&#40;</span>and, StringSplitOptions.<span style="color: #0000FF;">RemoveEmptyEntries</span><span style="color: #000000;">&#41;</span>;
  <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> ia = <span style="color: #FF0000;">0</span>; ia &amp;lt; ands.<span style="color: #0000FF;">Length</span>; ia++<span style="color: #000000;">&#41;</span>
  <span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">status</span><span style="color: #000000;">&#91;</span>ands<span style="color: #000000;">&#91;</span>ia<span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">Trim</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span> == <span style="color: #0600FF;">false</span><span style="color: #000000;">&#41;</span>
      <span style="color: #0600FF;">break</span>;
    <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>ia == ands.<span style="color: #0000FF;">Length</span><span style="color: #FF0000;">-1</span><span style="color: #000000;">&#41;</span> <span style="color: #008080; font-style: italic;">//last</span>
      <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">true</span>;
   <span style="color: #000000;">&#125;</span>
 <span style="color: #000000;">&#125;</span>
<span style="color: #0600FF;">return</span> <span style="color: #0600FF;">false</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Test<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
Dictionary&lt;string,&gt; status = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Dictionary&lt;string,&gt;<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
status.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;JA&quot;</span>, <span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span>;
status.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;NEIN&quot;</span>, <span style="color: #0600FF;">false</span><span style="color: #000000;">&#41;</span>;
status.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;OK&quot;</span>, <span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span>;
&nbsp;
Parser p = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span style="color: #008000;">new</span></a> Parser<span style="color: #000000;">&#40;</span>status<span style="color: #000000;">&#41;</span>;
<span style="color: #FF0000;">bool</span> result = p.<span style="color: #0000FF;">Parse</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;JA &amp;amp;&amp;amp; OK &amp;amp;&amp;amp; !NEIN || NEIN&quot;</span><span style="color: #000000;">&#41;</span>;
result = p.<span style="color: #0000FF;">Parse</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;NEIN || JA &amp;amp;&amp;amp; OK &amp;amp;&amp;amp; !NEIN&quot;</span><span style="color: #000000;">&#41;</span>;
result = p.<span style="color: #0000FF;">Parse</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;NEIN&quot;</span><span style="color: #000000;">&#41;</span>;
result = p.<span style="color: #0000FF;">Parse</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;JA&quot;</span><span style="color: #000000;">&#41;</span>;
result = p.<span style="color: #0000FF;">Parse</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;!JA &amp;amp;&amp;amp; NEIN&quot;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&lt;/<span style="color: #FF0000;">string</span>,&gt;&lt;/<span style="color: #FF0000;">string</span>,&gt;&lt;/<span style="color: #FF0000;">string</span>,&gt;&lt;/<span style="color: #FF0000;">string</span>,&gt;&lt;/<span style="color: #FF0000;">string</span>,&gt;</pre>
<p>Der letzte Baustein einer UND-Verknüpfung ist auch TRUE somit ist der Gesammte Ausdruck der Einfachen Abfrage TRUE. Das ist der ganze Trick, der Quelltext kann vereinfacht werden, wird aber nicht mehr so verständlich.<br />
Viel Spass und ein schönes Wochenende.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2010/02/12/ein-kleiner-und-oder-und-nicht-parser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>.NET User Group Dortmund Treffen am 04.11. ab 18:00 Uhr - Redesign von Software</title>
		<link>http://www.darkleo.com/blog/2009/11/03/net-user-group-dortmund-treffen-am-0411-ab-1800-uhr-redesign-von-software/</link>
		<comments>http://www.darkleo.com/blog/2009/11/03/net-user-group-dortmund-treffen-am-0411-ab-1800-uhr-redesign-von-software/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 10:22:26 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2009/11/03/net-user-group-dortmund-treffen-am-0411-ab-1800-uhr-redesign-von-software/</guid>
		<description><![CDATA[NET User Group Dortmund Treffen am 04.11. ab 18:00 Uhr - Redesign von SoftwareDie Dodnedder, die .NET-Community der Metropolregion Dortmund, treffen sich erneut. Es gibt natürlich eine Menge kompetenter Fachgespräche.  
[Thema]
Redesign von Software 
Neue Technologien wie WPF und Silverlight bieten immense neue Möglichkeiten für die Gestaltung von User-Interfaces.
Diese neuen Möglichkeiten im Sinne der Benutzer [...]]]></description>
			<content:encoded><![CDATA[<p>NET User Group Dortmund Treffen am 04.11. ab 18:00 Uhr - Redesign von SoftwareDie Dodnedder, die .NET-Community der Metropolregion Dortmund, treffen sich erneut. Es gibt natürlich eine Menge kompetenter Fachgespräche. <img src='http://www.darkleo.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>[Thema]<br />
Redesign von Software </p>
<p>Neue Technologien wie WPF und Silverlight bieten immense neue Möglichkeiten für die Gestaltung von User-Interfaces.<br />
Diese neuen Möglichkeiten im Sinne der Benutzer und Usability einzusetzen, ruft einen neuen Beteiligten auf den Plan: Den Designer. Daraus resultiert wiederum komplexer Abstimmungs- und Sensibilisierungsbedarf, der durch zum Teil gegensätzliche Positionen von Entwicklern, Designern und Entscheidern erschwert wird. </p>
<p>Daniel Greitens, Geschäftsführer der Kommunikationsagentur maximago und MVP für Expression, macht den Handlungsbedarf deutlich, liefert wissenschaftliche Usability-Grundlagen und zeigt eine auf Praxis und Erfahrung basierende Herangehensweise zum Redesign von Software. </p>
<p>[Kosten]<br />
Es wird Wert auf ein unkompliziertes Miteinander gelegt, deshalb gibt es keine formale Mitgliedschaft, die Teilnahme an Treffen ist kostenlos. </p>
<p>Wir freuen uns.<br />
Team Do.NET </p>
<p>Xing Anmeldung: https://www.xing.com/events/net-user-group-dortmund-treffen-04-11-09-redesign-software-daniel-greitens-420044<br />
Weitere Infos:<br />
Fragen zu diesem und anderen Arbeitskreisen nimmt Herr Paul Mizel gerne entgegen.<br />
Webseite: https://www.do-dotnet.de<br />
Xing Gruppe mit Forum: https://www.xing.com/net/do-dotnet </p>
<p>oder sonst formlose Anmeldung per E-Mail an pmizel@do-dotnet.de<br />
oder Handy: 01799609422 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2009/11/03/net-user-group-dortmund-treffen-am-0411-ab-1800-uhr-redesign-von-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>string.Format(&#8221;{0,X}&#8221;,X)</title>
		<link>http://www.darkleo.com/blog/2009/08/06/stringformat0xx/</link>
		<comments>http://www.darkleo.com/blog/2009/08/06/stringformat0xx/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 11:16:22 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2009/08/06/stringformat0xx/</guid>
		<description><![CDATA[Ich habe ziemlich viel Zeit damit verbracht, einen String mit Leerzeichen zu belegen,
string.Format("{0:D5}",223);  // 000223
doch ich wollte [ ][ ][ ]223 abbilden, die Lösung ist ziemlich Einfach, wenn man es kennt.
string.Format("{0,5}",223);  // [ ][ ][ ]223
was auch funktioniert
string.Format("{0,-5}",223);  // 223[ ][ ][ ]
Weitere Formatierungen: http://alexonasp.net/samples/stringformatting/
]]></description>
			<content:encoded><![CDATA[<p>Ich habe ziemlich viel Zeit damit verbracht, einen String mit Leerzeichen zu belegen,</p>
<p><font color="#0000ff">string.Format("{0:D5}",223);  </font><font color="#008000">// 000223</font></p>
<p>doch ich wollte [ ][ ][ ]223 abbilden, die Lösung ist ziemlich Einfach, wenn man es kennt.</p>
<p><font color="#0000ff">string.Format("{0,5}",223); </font><font color="#008000"> // [ ][ ][ ]223</font></p>
<p>was auch funktioniert</p>
<p><font color="#0000ff">string.Format("{0,-5}",223);  </font><font color="#008000">// 223[ ][ ][ ]</font></p>
<p>Weitere Formatierungen: <a href="http://alexonasp.net/samples/stringformatting/">http://alexonasp.net/samples/stringformatting/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2009/08/06/stringformat0xx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>01.04 ab 18:00 ASP.NET MVC bei der .NET User Group Dortmund</title>
		<link>http://www.darkleo.com/blog/2009/03/18/0104-ab-1800-aspnet-mvc-bei-der-net-user-group-dortmund/</link>
		<comments>http://www.darkleo.com/blog/2009/03/18/0104-ab-1800-aspnet-mvc-bei-der-net-user-group-dortmund/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 11:41:05 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Community]]></category>

		<category><![CDATA[User Group]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2009/03/18/0104-ab-1800-aspnet-mvc-bei-der-net-user-group-dortmund/</guid>
		<description><![CDATA[Die Dodnedder, die .NET-Community der Metropolregion Dortmund, treffen sich erneut.
Es geht um das Thema ASP.NET MVC Framework, es gibt einige Demos zu sehen. Und natürlich eine Menge kompetenter Fachgespräche.  
Wann:
Am 01.04.2009 18:00-20:00
WO:
Brockhaus AG
Pierbusch 17
44356 Lünen
GOOGLE: http://linkpin.de/7du6n1
Wie:
Anmeldung XING-Terminlink
Kosten:
Es wird Wert auf ein unkompliziertes Miteinander gelegt, deshalb gibt es keine formale Mitgliedschaft, die Teilnahme an Treffen [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.do-dotnet.de" title="www.do-dotnet.de"><img border="0" align="right" width="80" src="http://www.darkleo.com/blog/wp-content/uploads/2008/04/do-dotnet-80x25.jpg" alt=".NET User Goup Dortmund (Do.NET)" height="25" /></a>Die Dodnedder, die .NET-Community der Metropolregion Dortmund, treffen sich erneut.<br />
Es geht um das Thema ASP.NET MVC Framework, es gibt einige Demos zu sehen. Und natürlich eine Menge kompetenter Fachgespräche. <img src='http://www.darkleo.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Wann:</strong><br />
Am 01.04.2009 18:00-20:00</p>
<p><strong>WO:</strong><br />
Brockhaus AG<br />
Pierbusch 17<br />
44356 Lünen</p>
<p>GOOGLE: <a target="_blank" href="http://linkpin.de/7du6n1">http://linkpin.de/7du6n1</a></p>
<p><strong>Wie:</strong><br />
Anmeldung <a target="_blank" href="https://www.xing.com/events/321001">XING-Terminlink</a></p>
<p><strong>Kosten:</strong><br />
Es wird Wert auf ein unkompliziertes Miteinander gelegt, deshalb gibt es keine formale Mitgliedschaft, die Teilnahme an Treffen ist kostenlos.</p>
<p>Wir freuen uns.<br />
--------------------------------------------------------<br />
Weitere Infos: <a target="_blank" href="http://www.do-dotnet.de/">http://www.do-dotnet.de</a><br />
Wegbeschreibung: <a target="_blank" href="http://www.do-dotnet.de/front_content.php?idcat=4&amp;idart=54">http://www.do-dotnet.de/front_content.php?idcat=4&amp;idart=54</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2009/03/18/0104-ab-1800-aspnet-mvc-bei-der-net-user-group-dortmund/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Generic Config Collection Section</title>
		<link>http://www.darkleo.com/blog/2009/02/03/generic-config-collection-section/</link>
		<comments>http://www.darkleo.com/blog/2009/02/03/generic-config-collection-section/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 13:14:45 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Generics]]></category>

		<category><![CDATA[Klasse]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2009/02/03/generic-config-collection-section/</guid>
		<description><![CDATA[Alle Collection Items müssen einen Schlüssel beinhalten und dazu erstellen wir ein Interface
public interface IKeyElement
{object Key { get;}}
Dieses Interface wird in der Generischen Klasse verwendet.

public class GenericElementCollection&#60;T&#62; : ConfigurationElementCollection where T : ConfigurationElement, IKeyElement, new()
{
public GenericElementCollection(){ } protected override ConfigurationElement CreateNewElement()
{return new T();}public T this[int index]
{
get{return (T)BaseGet(index);}
set
{
    if (BaseGet(index) != null)
     {BaseRemoveAt(index);}
   BaseAdd(index, value);
}
}

new public T [...]]]></description>
			<content:encoded><![CDATA[<p>Alle Collection Items müssen einen Schlüssel beinhalten und dazu erstellen wir ein Interface<br />
<font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">interface</font><font size="2"> </font><font size="2" color="#2b91af">IKeyElement<br />
</font><font size="2">{</font><font size="2" color="#0000ff">object</font><font size="2"> Key { </font><font size="2" color="#0000ff">get</font><font size="2">;}}</font></p>
<p>Dieses Interface wird in der Generischen Klasse verwendet.<br />
<font size="2"><br />
<font size="2" color="#0000ff">public<font size="2"> </font><font size="2" color="#0000ff">class</font><font size="2"> </font><font size="2" color="#2b91af">GenericElementCollection</font><font size="2">&lt;T&gt; : </font><font size="2" color="#2b91af">ConfigurationElementCollection</font><font size="2"> </font><font size="2" color="#0000ff">where</font><font size="2"> T : </font><font size="2" color="#2b91af">ConfigurationElement</font><font size="2">, </font><font size="2" color="#2b91af">IKeyElement</font><font size="2">, </font><font size="2" color="#0000ff">new</font><font size="2">()<br />
{<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> GenericElementCollection(){ }</font></font></font><font size="2"><font size="2" color="#0000ff"><font size="2"> </font></font></font><font size="2"><font size="2" color="#0000ff"><font size="2"><font size="2" color="#0000ff">protected</font><font size="2"> </font><font size="2" color="#0000ff">override</font><font size="2"> </font><font size="2" color="#2b91af">ConfigurationElement</font><font size="2"> CreateNewElement()<br />
{</font><font size="2" color="#0000ff">return</font><font size="2"> </font><font size="2" color="#0000ff">new</font><font size="2"> T();}<font size="2" color="#0000ff">public</font><font size="2"> T </font><font size="2" color="#0000ff">this</font><font size="2">[</font><font size="2" color="#0000ff">int</font><font size="2"> index]<br />
{<br />
</font><font size="2" color="#0000ff">get</font><font size="2">{</font><font size="2" color="#0000ff">return</font><font size="2"> (T)BaseGet(index);}<br />
</font><font size="2" color="#0000ff">set<br />
</font><font size="2">{<br />
</font><font size="2" color="#0000ff">    if</font><font size="2"> (BaseGet(index) != </font><font size="2" color="#0000ff">null</font><font size="2">)<br />
     {BaseRemoveAt(index);</font><font size="2">}<br />
   BaseAdd(index, </font><font size="2" color="#0000ff">value</font><font size="2">);<br />
}<br />
}<br />
</font><font size="2"><br />
</font><font size="2" color="#0000ff">new</font><font size="2"> </font><font size="2" color="#0000ff">public</font><font size="2"> T </font><font size="2" color="#0000ff">this</font><font size="2">[</font><font size="2" color="#0000ff">string</font><font size="2"> Name]<br />
{</font><font size="2" color="#0000ff">get</font><font size="2">{</font><font size="2" color="#0000ff">return</font><font size="2"> (T)BaseGet(Name);</font><font size="2">}}<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">int</font><font size="2"> IndexOf(T element)<br />
{</font><font size="2" color="#0000ff">return</font><font size="2"> BaseIndexOf(element);}<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> Add(T element)<br />
{BaseAdd(element);}<br />
</font><font size="2" color="#0000ff">protected</font><font size="2"> </font><font size="2" color="#0000ff">override</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> BaseAdd(</font><font size="2" color="#2b91af">ConfigurationElement</font><font size="2"> element)<br />
{BaseAdd(element, </font><font size="2" color="#0000ff">false</font><font size="2">);}<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> Remove(T element)<br />
{</font></font></font></font></font><strong><u>if (BaseIndexOf(element) &gt;= 0){BaseRemove((element as IKeyElement).Key);}</u></strong><font size="2"><font size="2" color="#0000ff"><font size="2"><font size="2"><font size="2">}<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> RemoveAt(</font><font size="2" color="#0000ff">int</font><font size="2"> index)<br />
{BaseRemoveAt(index);}<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> Remove(</font><font size="2" color="#0000ff">string</font><font size="2"> key)<br />
{BaseRemove(key);}<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> Clear()<br />
{BaseClear();}<br />
</font><font size="2" color="#0000ff"><br />
public</font><font size="2"> </font><font size="2" color="#0000ff">override</font><font size="2"> </font><font size="2" color="#2b91af">ConfigurationElementCollectionType</font><font size="2"> CollectionType<br />
{</font><font size="2" color="#0000ff">get</font><font size="2">{</font><font size="2" color="#0000ff">return</font><font size="2"> </font><font size="2" color="#2b91af">ConfigurationElementCollectionType</font><font size="2">.AddRemoveClearMapAlternate;}}<br />
</font><font size="2" color="#0000ff"><br />
protected</font><font size="2"> </font><font size="2" color="#0000ff">override</font><font size="2"> </font><font size="2" color="#0000ff">object</font><font size="2"> GetElementKey(</font><font size="2" color="#2b91af">ConfigurationElement</font><font size="2"> element)<br />
</font></font></font></font></font>{<strong><u>return (element as IKeyElement).Key;</u></strong>}<font size="2"><font size="2" color="#0000ff"><font size="2"><font size="2"><strong><font size="2"><br />
</font></strong><font size="2"><br />
}</font></font></font></font></font><font size="2"><font size="2" color="#0000ff"><font size="2"> </font></font></font><font size="2"><br />
</font><strong>Beispiel:<br />
</strong><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">class </font><font size="2" color="#2b91af">MySection</font><font size="2"> : </font><font size="2" color="#2b91af">ConfigurationSection<br />
</font><font size="2">{</font><font size="2"><font size="2"><br />
 [</font><font size="2" color="#2b91af">ConfigurationProperty</font><font size="2">(</font><font size="2" color="#a31515">"gruppen"</font><font size="2">)]<br />
 [</font><font size="2" color="#2b91af">ConfigurationCollection</font><font size="2">(</font><font size="2" color="#0000ff">typeof</font><font size="2">(</font><font size="2" color="#2b91af">GenericElementCollection</font><font size="2">&lt;</font><font size="2" color="#2b91af">GruppenElement</font><font size="2">&gt;), AddItemName = </font><font size="2" color="#a31515">"gruppe"</font><font size="2">)]<br />
</font><font size="2" color="#0000ff"> public</font><font size="2"> </font><font size="2" color="#2b91af">GenericElementCollection</font><font size="2">&lt;</font><font size="2" color="#2b91af">GruppenElement</font><font size="2">&gt; GruppenCollection<br />
 {<br />
</font><font size="2" color="#0000ff">  get</font><font size="2"> { </font><font size="2" color="#0000ff">return</font><font size="2"> </font><font size="2" color="#0000ff">this</font><font size="2">[</font><font size="2" color="#a31515">"gruppen"</font><font size="2">] </font><font size="2" color="#0000ff">as</font><font size="2"> </font><font size="2" color="#2b91af">GenericElementCollection</font><font size="2">&lt;</font><font size="2" color="#2b91af">GruppenElement</font><font size="2">&gt;; }<br />
 }<br />
</font></font><font size="2"><font size="2">}</font></font><font size="2"><font size="2">Ein Klassen Element:</font></font><font size="2"><font size="2"><font size="2"><font size="2" color="#0000ff">public<font size="2"> </font><font size="2" color="#0000ff">class</font><font size="2"> </font><font size="2" color="#2b91af">GruppenElement</font><font size="2"> : </font><font size="2" color="#2b91af">ConfigurationElement</font><font size="2">, </font><font size="2" color="#2b91af">IKeyElement<br />
</font><font size="2">{<br />
</font><font size="2">[</font><font size="2" color="#2b91af">ConfigurationProperty</font><font size="2">(</font><font size="2" color="#a31515">"name"</font><font size="2">, DefaultValue = </font><font size="2" color="#a31515">""</font><font size="2">, IsRequired = </font><font size="2" color="#0000ff">true</font><font size="2">)]<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#2b91af">String</font><font size="2"> Name<br />
{</font><font size="2" color="#0000ff">get</font><font size="2">{</font><font size="2" color="#0000ff">return</font><font size="2"> </font><font size="2" color="#008000">(String)this["name"];</font><font size="2">}</font><font size="2">}</font></font></font><font size="2"><font size="2">[<font size="2" color="#2b91af">ConfigurationProperty</font><font size="2">(</font><font size="2" color="#a31515">"startUrl"</font><font size="2">, DefaultValue = </font><font size="2" color="#a31515">""</font><font size="2">, IsRequired = </font><font size="2" color="#0000ff">false</font><font size="2">)]<br />
</font><font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#2b91af">String</font><font size="2"> StartUrl<br />
{</font><font size="2" color="#0000ff">get</font><font size="2">{ </font><font size="2" color="#0000ff">return</font><font size="2"> </font><font size="2" color="#008000">(String)this["startUrl"]; </font><font size="2">}</font></font></font><font size="2"><font size="2"> <font size="2" color="#0000ff">public</font><font size="2"> </font><font size="2" color="#0000ff">object</font><font size="2"> Key<br />
{</font><font size="2" color="#0000ff">get</font><font size="2"> { </font><font size="2" color="#0000ff">return</font><font size="2"> Name; }}<br />
</font><br />
</font><font size="2">}<br />
</font></font><font size="2"><font size="2" color="#0000ff"><br />
</font></font><strong>Configuration</strong><font size="2"><font size="2" color="#0000ff"><br />
&lt;<font size="2" color="#a31515">section</font><font size="2" color="#0000ff"> </font><font size="2" color="#ff0000">name</font><font size="2" color="#0000ff">=</font><font size="2">"</font><font size="2" color="#0000ff">SectionNameAusDerSectionDefinition</font><font size="2">"</font><font size="2" color="#0000ff"> </font><font size="2" color="#ff0000">type</font><font size="2" color="#0000ff">=</font><font size="2">"</font><font size="2" color="#0000ff">Configuration.MySection</font><font size="2">"</font><font size="2" color="#0000ff"><br />
</font><font size="2" color="#ff0000">allowLocation</font><font size="2" color="#0000ff">=</font><font size="2">"</font><font size="2" color="#0000ff">true</font><font size="2">"</font><font size="2" color="#0000ff"> </font><font size="2" color="#ff0000">allowDefinition</font><font size="2" color="#0000ff">=</font><font size="2">"</font><font size="2" color="#0000ff">Everywhere</font><font size="2">"</font><font size="2" color="#0000ff"> /&gt;</font></font></font><font size="2"><font size="2" color="#0000ff"><font size="2">&lt;SectionNameAusDerSectionDefinition&gt;<br />
&lt;gruppen&gt;<br />
 &lt;gruppe name="name1" startUrl=<a href="http://www.darkleo.com/">www.darkleo.com</a>&gt;<br />
 &lt;gruppe name="name2" startUrl=<a href="http://www.darkleo.com/blog">www.darkleo.com/blog</a>&gt;<br />
&lt;gruppen&gt;<br />
</font><font size="2">&lt;/SectionNameAusDerSectionDefinition&gt;</font></font></font></p>
<p></font></font></p>
<p align="center"><script type="text/javascript"><!--
google_ad_client = "pub-7251294127490724";
//468x60, Erstellt 14.11.07
google_ad_slot = "1956959577";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2009/02/03/generic-config-collection-section/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speed für die Anwendung durch das vorladen der Assemblys</title>
		<link>http://www.darkleo.com/blog/2008/12/14/speed-fur-die-anwendung-durch-das-vorladen-der-assemblys/</link>
		<comments>http://www.darkleo.com/blog/2008/12/14/speed-fur-die-anwendung-durch-das-vorladen-der-assemblys/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 22:17:13 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2008/12/14/speed-fur-die-anwendung-durch-das-vorladen-der-assemblys/</guid>
		<description><![CDATA[Hab da was Interessantes gefunden, wird die Anwendung mal zu langsam Aufgerufen, hilft folgender Codeausschnitt.
Thread jitter = new Thread(() =&#62;
{
  foreach (var type in Assembly.Load("MyHavyAssembly, Version=1.8.2008.8," +
           " Culture=neutral, PublicKeyToken=8744b20f8da049e3").GetTypes())
  {
    foreach (var method in type.GetMethods(BindingFlags.DeclaredOnly &#124;
                        BindingFlags.NonPublic &#124;
                        BindingFlags.Public &#124; BindingFlags.Instance &#124;
                        BindingFlags.Static))
    {
      System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(method.MethodHandle);
    }
  }
});
jitter.Priority = ThreadPriority.Lowest;
jitter.Start();
http://www.codeproject.com/KB/dotnet/pre_JIT.aspx
]]></description>
			<content:encoded><![CDATA[<p>Hab da was Interessantes gefunden, wird die Anwendung mal zu langsam Aufgerufen, hilft folgender Codeausschnitt.</p>
<p>Thread jitter = <span class="code-keyword">new</span> Thread(() =&gt;<br />
{<br />
  <span class="code-keyword">foreach</span> (var type <span class="code-keyword">in</span> Assembly.Load(<span class="code-string">"</span><span class="code-string">MyHavyAssembly, Version=1.8.2008.8,"</span> +<br />
           <span class="code-string">"</span><span class="code-string"> Culture=neutral, PublicKeyToken=8744b20f8da049e3"</span>).GetTypes())<br />
  {<br />
    <span class="code-keyword">foreach</span> (var method <span class="code-keyword">in</span> type.GetMethods(BindingFlags.DeclaredOnly |<br />
                        BindingFlags.NonPublic |<br />
                        BindingFlags.Public | BindingFlags.Instance |<br />
                        BindingFlags.Static))<br />
    {<br />
      System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(method.MethodHandle);<br />
    }<br />
  }<br />
});<br />
jitter.Priority = ThreadPriority.Lowest;<br />
jitter.Start();</p>
<p><a target="_blank" href="http://www.codeproject.com/KB/dotnet/pre_JIT.aspx">http://www.codeproject.com/KB/dotnet/pre_JIT.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2008/12/14/speed-fur-die-anwendung-durch-das-vorladen-der-assemblys/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Auf den GAC zugreifen ohne Exporer/Windows Einschränkungen</title>
		<link>http://www.darkleo.com/blog/2008/10/31/auf-den-gac-zugreifen-ohne-exporerwindows-einschrankungen/</link>
		<comments>http://www.darkleo.com/blog/2008/10/31/auf-den-gac-zugreifen-ohne-exporerwindows-einschrankungen/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 10:32:33 +0000</pubDate>
		<dc:creator>darkleo</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.darkleo.com/blog/2008/10/31/auf-den-gac-zugreifen-ohne-exporerwindows-einschrankungen/</guid>
		<description><![CDATA[http://darkleo.com/darkleo/download/dir2drive.htm
Laufwerks Buchstaben auswählen: z.b. A (Assembly): Floppy hat fast keiner mehr :-) 
"c:\windows\assembly" als Pfad eintragen, und Updaten.
Nutzlich, wenn jemand mal die Assemblys und Versionen davon haben möchte  
Damit habt Ihr Zugriff auf den GAC und könnt euch auch die Einzelenen Versionen einer Assembyl ansehehen.
Änderungen des GACs auf eigene Gefahr.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://darkleo.com/darkleo/download/dir2drive.htm">http://darkleo.com/darkleo/download/dir2drive.htm</a></p>
<p>Laufwerks Buchstaben auswählen: z.b. A (Assembly): Floppy hat fast keiner mehr :-) <br />
"c:\windows\<strong>assembly" </strong>als Pfad eintragen, und Updaten.</p>
<p>Nutzlich, wenn jemand mal die Assemblys und Versionen davon haben möchte <img src='http://www.darkleo.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Damit habt Ihr Zugriff auf den GAC und könnt euch auch die Einzelenen Versionen einer Assembyl ansehehen.<br />
<font color="#ff0000">Änderungen des GACs auf eigene Gefahr.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.darkleo.com/blog/2008/10/31/auf-den-gac-zugreifen-ohne-exporerwindows-einschrankungen/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

