YAZILIM

Web Sitenize Online Döviz Kuru Ekleyin

Günümüzde belki’de en çok kullanılan ve ziyaret edilen uygulamaların başında döviz kuru gelmekte. Bizde bundan yola çıklarak sizler için bir uygulamayı yaptık.

Ancak problemler ortaya çıktı. IMKB ara sıra yayınlamayı kesiyordu. Sitede hatalar meydana geliyordu. Bu problemlerden ötürü site hiç çalışmıyordu. Haliyle site yayından kaldırılıyor ve otomatik olarak app_offline.html ekleniyor ve site yayından çekiliyordu. Bu problemlerin önüne geçebilmek adına farklı bir uygulama yaptık.
1-) IMKB sitesi ile bağlantı oluşturuluyor ve XML dosya okunuyor
2-) IMKB ile bağlantı varsa
a-) XML dosya okunuyor
b-) Okunulan bilgiler projemde oluşturduğum XML dosyaya kayıt ediliyor.
c-) IMKB sitesinde okunulan bilgiler sitede gösteriliyor
d-) işlem sonlandırılıyor.
3-) IMKB ile bağlantı yoksa
a-) En son kayıt edilen Projemde ki XML dosya okunuyor
b-) Okunulan bilgiler sitede gösteriliyor
c-) Proje sonlandırılıyor.
evet yukarıdaki işlemleri şimdi birde kod kısmına dökelim 🙂 ilk olarak bir dosya oluşturalım (Tercihimiz User Control oluşturmanızdan yanadır)

aspx.cs dosyası;

using System;
using System.Data;
using System.Web;
using System.Xml;
using System.IO;
using DataComments;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Doviz();
}
}
string dolarA, euroA;
public void XmlAl()
{
try
{
TextWriter tw = new StreamWriter(Server.MapPath(“~/TempFile/Doviz.xml”));
tw.WriteLine(DataComment.Datas(“http://www.tcmb.gov.tr/kurlar/today.xml”).ToString());
tw.Close();
}
catch { }
}

public void Doviz()
{
FileStream fls;
try
{
fls = new FileStream(“http://www.tcmb.gov.tr/kurlar/today.xml”, FileMode.Open);
XmlAl();
}
catch
{
fls = new FileStream(Server.MapPath(“~/TempFile/Doviz.xml”), FileMode.Open);
}
XmlTextReader okuyucu = new XmlTextReader(fls);
XmlDocument dokuman = new XmlDocument();
dokuman.Load(okuyucu);
XmlNode dolar = dokuman.SelectSingleNode(“/Tarih_Date/Currency[CurrencyName=’US DOLLAR’]”);
XmlNode euro = dokuman.SelectSingleNode(“/Tarih_Date/Currency[CurrencyName=’EURO’]”);
_Dolar.Text = double.Parse(dolar.ChildNodes[4].InnerText, new System.Globalization.CultureInfo(“en-US”)).ToString();
_Euro.Text = double.Parse(dolar.ChildNodes[4].InnerText, new System.Globalization.CultureInfo(“en-US”)).ToString();
okuyucu.Close();
}

aspx sayfası;

<asp:label id=“_Dolar” runat=“server” text=“”></asp:label> TL
<asp:label id=“_Euro” runat=“server” text=“”></asp:label> TL

ve birde projemize class dosyası verelim ve adını da wDataRead koyalım. İçeriği de aynen aşağıdaki gibi olsun;

namespace wDataRead
{
public class DataRead
{
public static string Datas(string U)
{
Uri S = new Uri(U);
WebRequest Wreqst = WebRequest.Create(S);
WebResponse Wrespns = Wreqst.GetResponse();
Stream Stm = Wrespns.GetResponseStream();
StreamReader Stmrdr = new StreamReader(Stm, Encoding.GetEncoding(“windows-1254”));
U = Stmrdr.ReadToEnd();
return U;
}
}
}

projemiz bitti. Herkes istediği gibi kullanabilir umarım 🙂 Bu uygulama biraz daha geliştirilebilir. Mesela outputcache kullanılarak her saat başı verilerin çekilmesi sağlanır. Böylelikle projenizi daha az kasmış olur.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Göz Atın
Kapalı
Başa dön tuşu