<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Piotr Szczepanik - programowanie (.Net, C#, SQL), administracja, IT</title>
	<atom:link href="http://blog.szczepanik.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.szczepanik.org</link>
	<description>blog IT: programowanie, administracja</description>
	<lastBuildDate>Wed, 22 Sep 2010 14:18:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>&#8222;The database could not be exclusively locked&#8230;&#8221; podczas zmiany COLLATION</title>
		<link>http://blog.szczepanik.org/2010/09/the-database-could-not-be-exclusively-locked-podczas-zmiany-collation/</link>
		<comments>http://blog.szczepanik.org/2010/09/the-database-could-not-be-exclusively-locked-podczas-zmiany-collation/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 14:18:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[collation]]></category>
		<category><![CDATA[error]]></category>

		<guid isPermaLink="false">http://blog.szczepanik.org/?p=45</guid>
		<description><![CDATA[Chcemy zmienić COLLATION dla naszej bazy danych, ale SQL Server zwraca nam komunikat: The database could not be exclusively locked to perform the operation. Możemy ominąć ten problem zmieniając przed wykonaniem operacji zmiany COLLATION przestawiamy tryb pracy bazy danych na single user, a po wykonaniu operacji z powrotem na multi user. &#160;T-SQL&#160;&#124;&#160;&#160;kopiuj&#160;kod&#160;&#124;?&#160;1ALTER DATABASE &#91;nazwa bazy&#93; [...]]]></description>
			<content:encoded><![CDATA[Chcemy zmienić COLLATION dla naszej bazy danych, ale SQL Server zwraca nam komunikat: <span style="color: #ff0000;"><em> The database could not be exclusively locked to perform the operation.</em></span><p>Możemy ominąć ten problem zmieniając przed wykonaniem operacji zmiany COLLATION przestawiamy tryb pracy bazy danych na single user, a po wykonaniu operacji z powrotem na multi user.</p>
<pre class="devcodeblock" title="T-SQL"><table class="devcodetools"><tbody><tr><td>&nbsp;T-SQL&nbsp;|&nbsp;</td><td style="background-image:url('http://blog.szczepanik.org/wp-content/plugins/devformatter/img/devformatter-copy.png');background-repeat:no-repeat;background-position:50% 50%;width:16px;height:16px;"/><embed id="ZeroClipboard2" src="http://blog.szczepanik.org/wp-content/plugins/devformatter/_zclipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16px" height="16px" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&width=16&height=16" wmode="transparent" /></td><td>&nbsp;kopiuj&nbsp;kod&nbsp;|</td><td style="cursor:pointer" title="DevFormatter Plugin" onclick="devfmt_credits()">?</td><td width="99%">&nbsp;</td></tr></tbody></table><div class="devcodeoverflow"><table class="devcodearea" width="100%"><tr><td class="devcodelines" width="1%">1</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">ALTER</span> <span style="color: #0000FF;">DATABASE</span> <span style="color: #808080;">&#91;</span>nazwa bazy<span style="color: #808080;">&#93;</span> <span style="color: #0000FF;">SET</span> S<span style="color: #808080;">IN</span>GLE_USER <span style="color: #0000FF;">WITH</span> <span style="color: #0000FF;">ROLLBACK</span> <span style="color: #0000FF;">IMMEDIATE</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">2</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #0000FF;">ALTER</span> <span style="color: #0000FF;">DATABASE</span> <span style="color: #808080;">&#91;</span>nazwa bazy<span style="color: #808080;">&#93;</span> <span style="color: #0000FF;">COLLATE</span> <span style="color: #808080;">&#91;</span>nazwa <span style="color: #0000FF;">COLLATION</span><span style="color: #808080;">&#93;</span></pre></td></tr><tr><td class="devcodelines" width="1%">3</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #0000FF;">ALTER</span> <span style="color: #0000FF;">DATABASE</span> <span style="color: #808080;">&#91;</span>nazwa bazy<span style="color: #808080;">&#93;</span> <span style="color: #0000FF;">SET</span> MULTI_USER</pre></td></tr></table></div></pre>]]></content:encoded>
			<wfw:commentRss>http://blog.szczepanik.org/2010/09/the-database-could-not-be-exclusively-locked-podczas-zmiany-collation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Różnica pomiędzy Response.Redirect, a Server.Transfer</title>
		<link>http://blog.szczepanik.org/2009/08/roznica-pomiedzy-responseredirect-a-servertransfer/</link>
		<comments>http://blog.szczepanik.org/2009/08/roznica-pomiedzy-responseredirect-a-servertransfer/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 18:22:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[302]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[przekierowanie]]></category>
		<category><![CDATA[Response.Redirect]]></category>
		<category><![CDATA[różnice]]></category>
		<category><![CDATA[Server.Transfer]]></category>
		<category><![CDATA[vs]]></category>

		<guid isPermaLink="false">http://blog.szczepanik.org/?p=37</guid>
		<description><![CDATA[Pomimo tego, iż Response.Redirect oraz Server.Transfer są dosyć często używanymi metodami przez programistów ASP.Net, często zdarza się, że tak naprawdę nie wiemy co się dzieje wskutek ich użycia.Response.Redirect Metoda ta nakazuje klientowi (przeglądarce internetowej) odwiedzenie danej lokalizacji URL. W praktyce po stronie użytkownika skutek jest taki sam jak byśmy wpisali nowy adres do paska adresu.Jak [...]]]></description>
			<content:encoded><![CDATA[Pomimo tego, iż Response.Redirect oraz Server.Transfer są dosyć często używanymi metodami przez programistów ASP.Net, często zdarza się, że tak naprawdę nie wiemy co się dzieje wskutek ich użycia.<br /><br /><h2>Response.Redirect</h2>
Metoda ta nakazuje klientowi (przeglądarce internetowej) odwiedzenie danej lokalizacji URL. W praktyce po stronie użytkownika skutek jest taki sam jak byśmy wpisali nowy adres do paska adresu.<br /><br /><strong>Jak właściwie to się odbywa?</strong> W momencie użycia <em>Response.Redirect</em> przeglądarka otrzymuje od serwera nagłówek HTTP podobny do poniższego (w nagłówku znajdują się również dodatkowe informacje, które w tym miejscu, akurat są bez znaczenia dla wytłumaczenia tematu):<br /><br /><em>HTTP/1.1 302 Object moved<br />Server: Microsoft-IIS/5.0<br />Location: new-url/new-page.aspx</em><br /><br />Ten nagłówek informuje przeglądarkę, iż żądana strona znajduje się pod nową lokalizacją. Po tej informacji przeglądarka wykonuje kolejne żądanie (<em>Request</em>), tym razem pod lokalizację przekazaną w nagłówku.<br /><br />Dzięki temu mechanizmowi możemy przekierowywać klienta zarówno na strony znajdujące się na naszym serwerze jak i na pełne adresy URL (np. http://www.photoartis.pl). Nowy URL może zawierać również tzw. <em>QueryString</em>, m.in. dzięki czemu możemy uzyskać przekazywanie informacji między stronami.<br /><br />Należy pamiętać, że w momencie zastosowania <em>Response.Redirect</em> wszelkie pola z POST&#8217;a zostają utracone (jest to logiczne wskutek opisanych powyżej działań, ale warto o tym przypomnieć).<br /><br /><h2>Server.Transfer</h2>
Ta metoda odbywa się całkowicie po stronie serwera. Np. przeglądarka wykonuje żądanie o stronę <em>A.aspx</em>. Aplikacja wywołuje metodę <em>Server.Transfer(&#8222;B.aspx&#8221;)</em>. W rezultacie serwer zwraca do klienta zawartość strony <em>B.aspx</em>. W tym przypadku przeglądarka nadal myśli, że znajduje się na stronie <em>A.aspx</em>. Wskutek powyższego mechanizmu w pasku adresu przeglądarki będzie widniał URL do strony <em>A.aspx</em>.<br /><br />Dzięki temu mechanizmowi otrzymujemy m.in. fakt, iż nie jest wykonywane kolejne żądanie HTTP po stronie klienta. Również zachowywane są wszystkie pola z POST&#8217;a.<br />Należy jednak pamiętać, że jeżeli strona wywołująca &#8222;Transfer&#8221; przed ta operacją zapisze coś do <em>Response buffer</em> to w rezultacie otrzymamy wynik z danymi zapisanymi do bufora oraz zawartością strony, na którą wykonaliśmy metodę <em>Transfer</em>. W takich przypadkach możemy po prostu przed wywołaniem metody przeprowadzić czyszczenie buforu Response. <br /><br />Pamiętajmy również, że <em>Server.Transfer</em> nie umożliwia przekierowania na strony poza nasz serwer.]]></content:encoded>
			<wfw:commentRss>http://blog.szczepanik.org/2009/08/roznica-pomiedzy-responseredirect-a-servertransfer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TextBox i przycisk Enter (OnClick)</title>
		<link>http://blog.szczepanik.org/2009/08/textbox-i-przycisk-enter-onclick/</link>
		<comments>http://blog.szczepanik.org/2009/08/textbox-i-przycisk-enter-onclick/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 18:56:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[domyślny przycisk]]></category>
		<category><![CDATA[onclick]]></category>
		<category><![CDATA[przycisk enter]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[textbox]]></category>

		<guid isPermaLink="false">http://blog.szczepanik.org/?p=34</guid>
		<description><![CDATA[Często zdarza się, iż wrzucamy na naszą WebForm kontrolkę TextBox, a zaraz obok niej przycisk, który wywołuje jakąś akcję związaną z treścią wpisaną do kontrolki, np. pole wyszukiwania.Co zrobić, żeby użytkownik zamiast klikania w przycisk wcisnął Enter po wpisaniu treści do pola TextBox ?Poniżej przedstawię dwa sposoby:Sposób 1 &#8211; kontrolka PanelUmieszczamy obydwie kontrolki wewnątrz asp:Panel, [...]]]></description>
			<content:encoded><![CDATA[Często zdarza się, iż wrzucamy na naszą WebForm kontrolkę TextBox, a zaraz obok niej przycisk, który wywołuje jakąś akcję związaną z treścią wpisaną do kontrolki, np. pole wyszukiwania.<br /><br />Co zrobić, żeby użytkownik zamiast klikania w przycisk wcisnął Enter po wpisaniu treści do pola TextBox ?<br /><br />Poniżej przedstawię dwa sposoby:<br /><br /><strong>Sposób 1 &#8211; kontrolka Panel</strong><br /><br />Umieszczamy obydwie kontrolki wewnątrz asp:Panel, której atrybut <em>defaultButton</em> ustawiamy na nasz przycisk.<br /><br /><pre class="devcodeblock" title="ASP"><table class="devcodetools"><tbody><tr><td>&nbsp;ASP&nbsp;|&nbsp;</td><td style="background-image:url('http://blog.szczepanik.org/wp-content/plugins/devformatter/img/devformatter-copy.png');background-repeat:no-repeat;background-position:50% 50%;width:16px;height:16px;"/><embed id="ZeroClipboard5" src="http://blog.szczepanik.org/wp-content/plugins/devformatter/_zclipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16px" height="16px" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=5&width=16&height=16" wmode="transparent" /></td><td>&nbsp;kopiuj&nbsp;kod&nbsp;|</td><td style="cursor:pointer" title="DevFormatter Plugin" onclick="devfmt_credits()">?</td><td width="99%">&nbsp;</td></tr></tbody></table><div class="devcodeoverflow"><table class="devcodearea" width="100%"><tr><td class="devcodelines" width="1%">1</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #006600; font-weight: bold;">&lt;</span>asp<span style="color: #006600; font-weight: bold;">:</span>panel defaultbutton<span style="color: #006600; font-weight: bold;">=</span><span style="color: #cc0000;">&quot;btnSearch runat=&quot;</span><span style="color: #006600; font-weight: bold;">&gt;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">2</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">    <span style="color: #006600; font-weight: bold;">&lt;</span>asp<span style="color: #006600; font-weight: bold;">:</span>textbox id<span style="color: #006600; font-weight: bold;">=</span><span style="color: #cc0000;">&quot;textbox1&quot;</span> runat<span style="color: #006600; font-weight: bold;">=</span><span style="color: #cc0000;">&quot;server&quot;</span><span style="color: #006600; font-weight: bold;">&gt;</span></pre></td></tr><tr><td class="devcodelines" width="1%">3</td><td class="devcodelinesarea"><pre class="devcode devcodeline">    <span style="color: #006600; font-weight: bold;">&lt;</span>asp<span style="color: #006600; font-weight: bold;">:</span>button id<span style="color: #006600; font-weight: bold;">=</span><span style="color: #cc0000;">&quot;btnSearch&quot;</span> runat<span style="color: #006600; font-weight: bold;">=</span><span style="color: #cc0000;">&quot;server&quot;</span> text<span style="color: #006600; font-weight: bold;">=</span><span style="color: #cc0000;">&quot;Szukaj&quot;</span><span style="color: #006600; font-weight: bold;">&gt;</span></pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">4</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #006600; font-weight: bold;">&lt;/</span>asp<span style="color: #006600; font-weight: bold;">:</span>button<span style="color: #006600; font-weight: bold;">&gt;&lt;/</span>asp<span style="color: #006600; font-weight: bold;">:</span>textbox<span style="color: #006600; font-weight: bold;">&gt;&lt;/</span>asp<span style="color: #006600; font-weight: bold;">:</span>panel<span style="color: #006600; font-weight: bold;">&gt;</span></pre></td></tr></table></div></pre>
<br /><strong>Sposób 2 - JavaScript</strong><br /><br />Na kontrolce TextBox dodajemy obsługę zdarzenia <em>OnClick</em> (np. w zdarzeniu PageLoad).<br /><pre class="devcodeblock" title="Javascript"><table class="devcodetools"><tbody><tr><td>&nbsp;Javascript&nbsp;|&nbsp;</td><td style="background-image:url('http://blog.szczepanik.org/wp-content/plugins/devformatter/img/devformatter-copy.png');background-repeat:no-repeat;background-position:50% 50%;width:16px;height:16px;"/><embed id="ZeroClipboard6" src="http://blog.szczepanik.org/wp-content/plugins/devformatter/_zclipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16px" height="16px" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=6&width=16&height=16" wmode="transparent" /></td><td>&nbsp;kopiuj&nbsp;kod&nbsp;|</td><td style="cursor:pointer" title="DevFormatter Plugin" onclick="devfmt_credits()">?</td><td width="99%">&nbsp;</td></tr></tbody></table><div class="devcodeoverflow"><table class="devcodearea" width="100%"><tr><td class="devcodelines" width="1%">01</td><td class="devcodelinesarea"><pre class="devcode devcodeline">textbox1.<span style="color: #660066;">Attributes</span>.<span style="color: #660066;">Add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;onkeydown&quot;</span><span style="color: #339933;">,</span> </pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">02</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">            <span style="color: #339933;">@</span><span style="color: #3366CC;">&quot;if(event.which || event.keyCode){</pre></td></tr><tr><td class="devcodelines" width="1%">03</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #3366CC;">                  if ((event.which == 13) || (event.keyCode == 13)) {</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">04</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #3366CC;">                      document.getElementById('&quot;</span> <span style="color: #339933;">+</span> btnSearch.<span style="color: #660066;">UniqueID</span>.<span style="color: #660066;">Replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'$'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'_'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> </pre></td></tr><tr><td class="devcodelines" width="1%">05</td><td class="devcodelinesarea"><pre class="devcode devcodeline">                      <span style="color: #3366CC;">&quot;').click();</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">06</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #3366CC;">                      return false;</pre></td></tr><tr><td class="devcodelines" width="1%">07</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #3366CC;">                      }</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">08</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #3366CC;">                } else {</pre></td></tr><tr><td class="devcodelines" width="1%">09</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #3366CC;">                    return true</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">10</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #3366CC;">                }; &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div></pre>]]></content:encoded>
			<wfw:commentRss>http://blog.szczepanik.org/2009/08/textbox-i-przycisk-enter-onclick/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UNION kontra UNION ALL &#8211; wydajność</title>
		<link>http://blog.szczepanik.org/2009/07/union-kontra-union-all-wydajnosc/</link>
		<comments>http://blog.szczepanik.org/2009/07/union-kontra-union-all-wydajnosc/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 17:38:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[union]]></category>
		<category><![CDATA[union all]]></category>
		<category><![CDATA[union vs union all]]></category>
		<category><![CDATA[wydajność]]></category>
		<category><![CDATA[zapytanie]]></category>

		<guid isPermaLink="false">http://blog.szczepanik.org/?p=33</guid>
		<description><![CDATA[Większość osób posługujących się SQL&#8217;em wie do czego służy UNION, mało tego często zdarza się, że go używa. Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy UNION, a UNION ALL. W rezultacie przy pisaniu zapytania stosuje UNION, chociażby z racji tego, iż jest krótsze .W skrócie UNION ALL łączy wszystkie rekordy z [...]]]></description>
			<content:encoded><![CDATA[Większość osób posługujących się SQL&#8217;em wie do czego służy UNION, mało tego często zdarza się, że go używa. <img src='http://blog.szczepanik.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br /><br />Jednak jak pokazuje doświadczenie, nie każdy wie jaka różnica jest pomiędzy <i>UNION</i>, a <i>UNION ALL</i>. W rezultacie przy pisaniu zapytania stosuje <i>UNION</i>, chociażby z racji tego, iż jest krótsze <img src='http://blog.szczepanik.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br /><br />W skrócie <i>UNION ALL</i> łączy wszystkie rekordy z zapytań, natomiast UNION dokonuje filtracji i odrzuca duplikujące się rekordy (<i>DISTINCT</i>). <br /><br />W przypadku zbioru danych, w którym nie występują duplikaty dane wynikowe będą takie same, jednak samo obciążenie wywołane zapytaniem jest inne, na niekorzyść <i>UNION</i>.<br /><br />Co z tego wynika? Jeżeli jesteśmy pewni, że dane znajdujące się w łączonych przez nas zapytaniach nie posiadają duplikatów / bądź też nie przeszkadza nam obecność duplikatów zawsze stosujmy <b>UNION ALL</b>.]]></content:encoded>
			<wfw:commentRss>http://blog.szczepanik.org/2009/07/union-kontra-union-all-wydajnosc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Przekierowanie z http na https</title>
		<link>http://blog.szczepanik.org/2009/07/przekierowanie-z-http-na-https/</link>
		<comments>http://blog.szczepanik.org/2009/07/przekierowanie-z-http-na-https/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 05:59:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[przekierowanie]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://blog.szczepanik.org/?p=31</guid>
		<description><![CDATA[Załóżmy, iż mamy witrynę WWW, bądź dwie, które korzystają tylko i wyłącznie z protokołu https.Użytkownicy jednak uparcie wpisują w pasku adresu przeglądarki http. Przydał by się mechanizm, który po odwołaniu na odpowiedni adres po protokole http przekieruje na daną lokalizację przy użyciu protokołu https.Poniżej przykład skryptu w ASP realizujący to zadanie, dla dwóch różnych adresów. [...]]]></description>
			<content:encoded><![CDATA[Załóżmy, iż mamy witrynę WWW, bądź dwie, które korzystają tylko i wyłącznie z protokołu https.<br />Użytkownicy jednak uparcie wpisują w pasku adresu przeglądarki <em>http</em>. <br /><br />Przydał by się mechanizm, który po odwołaniu na odpowiedni adres po protokole http przekieruje  na daną lokalizację przy użyciu protokołu <em>https</em>.<br /><br />Poniżej przykład skryptu w ASP realizujący to zadanie, dla dwóch różnych adresów. Skrypt ten podpinamy pod daną witrynę (np. jako <em>default.aspx</em>).<br /><br /><pre class="devcodeblock" title="Visual Basic"><table class="devcodetools"><tbody><tr><td>&nbsp;Visual Basic&nbsp;|&nbsp;</td><td style="background-image:url('http://blog.szczepanik.org/wp-content/plugins/devformatter/img/devformatter-copy.png');background-repeat:no-repeat;background-position:50% 50%;width:16px;height:16px;"/><embed id="ZeroClipboard8" src="http://blog.szczepanik.org/wp-content/plugins/devformatter/_zclipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16px" height="16px" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=8&width=16&height=16" wmode="transparent" /></td><td>&nbsp;kopiuj&nbsp;kod&nbsp;|</td><td style="cursor:pointer" title="DevFormatter Plugin" onclick="devfmt_credits()">?</td><td width="99%">&nbsp;</td></tr></tbody></table><div class="devcodeoverflow"><table class="devcodearea" width="100%"><tr><td class="devcodelines" width="1%">01</td><td class="devcodelinesarea"><pre class="devcode devcodeline">&lt;% Language=VBScript %&gt;</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">02</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">&lt;%</pre></td></tr><tr><td class="devcodelines" width="1%">03</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #000080;">Dim</span> host</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">04</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">host = Request.ServerVariables(&quot;HTTP_HOST&quot;)</pre></td></tr><tr><td class="devcodelines" width="1%">05</td><td class="devcodelinesarea"><pre class="devcode devcodeline"><span style="color: #000080;">Select</span> <span style="color: #000080;">Case</span> host</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">06</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">    <span style="color: #000080;">Case</span> &quot;poczta.domenka.pl&quot;</pre></td></tr><tr><td class="devcodelines" width="1%">07</td><td class="devcodelinesarea"><pre class="devcode devcodeline">        Response.Redirect(&quot;https://poczta.domenka.pl/owa&quot;)</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">08</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline">    <span style="color: #000080;">Case</span> &quot;remote.domenka.pl&quot;</pre></td></tr><tr><td class="devcodelines" width="1%">09</td><td class="devcodelinesarea"><pre class="devcode devcodeline">        Response.Redirect(&quot;https://remote.domenka.pl/remote&quot;)</pre></td></tr><tr><td class="devcodelines devcodelinesodd" width="1%">10</td><td class="devcodelinesarea devcodelinesareaodd"><pre class="devcode devcodeline"><span style="color: #000080;">End</span> <span style="color: #000080;">Select</span></pre></td></tr><tr><td class="devcodelines" width="1%">11</td><td class="devcodelinesarea"><pre class="devcode devcodeline">%&gt;</pre></td></tr></table></div></pre>]]></content:encoded>
			<wfw:commentRss>http://blog.szczepanik.org/2009/07/przekierowanie-z-http-na-https/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

