Upload
fatih-boy
View
1.321
Download
1
Embed Size (px)
DESCRIPTION
Bir masaüstü uygulamasından asp.net, php, jsp gibi dinamik bir web sitesiyle yada html içerikli sabit bir web sitesiyle nasıl etkileşimde bulunabileceğimizi paylaştğım webiner'e ait powerpoint sunusu
Citation preview
Masaüstü Uygulamasından ASP.NET Sayfalarıyla Etkileşim Fatih BoyMicrosoft MVP (Visual C#)Birim Bilgi Teknolojileri
http://fatihboy.comhttp://enterprisecoding.com
Fatih Boy
Microsoft MVP (Visual C#)Proje MüdürüBirim Bilgi Teknolojileri
/Enterprisecodinghttp://fatihboy.com
http://enterprisecoding.com /fatihboy
Hyper Text Transfer Protocol
En basit şekliyle bir istek;
GET http://enterprisecoding.com/ HTTP/1.1CR LF
Host: enterprisecoding.comCR LF
HTTP İstek Yapısı
İstek Metodu
İstek Adresi
Protokol
Sunucu Başlığı (Host Header)
HTTP İstek YapısıBir Başka Örnek;
GET http://enterprisecoding.com/ HTTP/1.1Accept: text/html, application/xhtml+xml, */*Accept-Language: tr-TRUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)Accept-Encoding: gzip, deflateConnection: Keep-AliveHost: enterprisecoding.comCookie: abc=123
Web sayfalarında en sık kullandıklarınız
İstek Metodları−GET−POST−HEAD−PUT−DELETE−TRACE−OPTIONS−CONNECT−PATCH
İstek Metodları - POST
−Genellikle «application/x-www-form-urlencoded» içerik türüne sahiptir
−Veri anahtar ve değer ikilisi olarak gönderilir−Gönderilen her bir anahtar-değer ikilisi
birbirinden “&” karakteri ile ayrılmaktadır−Anahtar ve değer arasında ise “=” karakteri
yer almaktadır−Gönderilen veri içerisindeki boşluklar “+”
karakteri ile yer değiştirdikten sonra da kalan diğer karakterlere URL encoding uygulanır
İstek Metodları - POST
Anahtar Değer
Adi Ali Veli
Soyadi Örnek
Sehir İzmir
Ulke Türkiye
Bu anahtar-değer ikilileri için oluşturulacak olan POST ;
Adi=Ali+Veli&Soyadi=%c3%96rnek&Sehir=%c4%b0zmir&Ulke=T%c3%bcrkiye
HTTP Yanıt YapısıDurum Bilgisi
HTTP/1.1 200 OKDate: Sun, 26 Feb 2012 20:28:23 GMTServer: Apache/2.2.21 (Unix) FrontPage/5.0.2.2635X-Powered-By: PHP/5.2.17Vary: Cookie,Accept-EncodingX-Pingback: http://www.enterprisecoding.com/blog/xmlrpc.phpExpires: Wed, 11 Jan 1984 05:00:00 GMTCache-Control: no-cache, must-revalidate, max-age=0Pragma: no-cacheLast-Modified: Sun, 26 Feb 2012 20:28:25 GMTSet-Cookie: client=done;path=/;Keep-Alive: timeout=5, max=400Connection: Keep-AliveContent-Type: text/html; charset=UTF-8Content-Length: 87109
Sunucu ve Kaynak Bilgisi
Çerezler (Cookies)
İlk İstek
− HTTP durumsuz bir protokoldür− Durum bilgisi çerezler yardımıyla tutulabilir− Çerezler sunucuya açık text olarak transfer edilir
İstemci ilk HTTP isteğini yapar
İkinci İstek
Yanıt içerisinde Set-cookie:<çerez>
İstemci
Standart HTTP yanıtı
Sunucu
İstek içerisinde Set-cookie:<çerez>
DemoFiddler ile istek/yanıt takibi
DemoPHP sayfasına veri gönderimi
ASP.Net Sayfaları - Zorluklar• View state (__VIEWSTATE )
Bir ASP.Net web sayfasına ait durum bilgisinin saklandığı form elemanı
• Event validation (__EVENTVALIDATION)
• En kaba anlatımla sayfada gerçekleşen bir olayın sunucuya bildirilmesidir
• ASP.Net, istemci tarafında oluşan olayları sunucuya bildirebilmek için sayfadaki Form’u bir javascript yardımıyla sunucuya POST yöntemi ile göndermektedir
• Sayfada bu amaçla __doPostBack javascript fonksiyonu kullanılmaktadır
ASP.Net Sayfaları – Olay BildirimiPost back
function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); }}
Postback’e neden olan
kontrol
Olay’a ilişkin argümanlar
DemoASP.Net sayfasına veri gönderimi
Faydalı Kaynaklar• Enterprisecoding
http://enterprisecoding.com
• Hypertext Transfer Protocolhttp://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
• Fiddler2http://fiddler2.com
• Chad Sowald's Request-To-Codehttp://www.chadsowald.com/software/fiddler-extension-request-to-code
Teşekkürler
Fatih BoyMicrosoft MVP (Visual C#)Birim Bilgi Teknolojileri
http://fatihboy.comhttp://enterprisecoding.com