Asp.net Mvc Lisanslama Örneği
Asp.Net MVC Lisanslama örneği olarak hazırladığım bu döküman umarım faydalı olur. Dökümanın amacı asp.net veya c# üzerine lisanslama da size yol göstermesi.
Amaç lisanslama alanında örnek teşkil etmesi.
Öncelikle Controller sayfasına LisansKontrol adında bir method oluşturalım.
private void LisansKontrol()
{
string siteAdresi = Request.Url.AbsoluteUri.ToString().TrimEnd('/');
string LisansAdres = "";
string Versiyon = "";
string LisansKodu = "";
string LisansBaslangicTarihi = "";
string BitisTarihi = "";
string BaslangicTarihi = DateTime.Now.ToString("dd.MM.yyyy");
string[] AdresParcala, VersiyonParcala, BaslangicTarihiParcala, BitisTarihiParcala, LisansNoParcala;
string Url = "http://www.siteadi.com/Lisans.xml";
XElement xEmp = XElement.Load(Url);
var empNames = from name in xEmp.Elements("Site")
select name;
foreach (XElement fName in empNames)
{
LisansAdres += fName.Element("SiteAdi").Value.ToString().TrimEnd('/') + ",";
Versiyon += fName.Element("Versiyon").Value + ",";
LisansKodu += fName.Element("LisansNo").Value + ",";
LisansBaslangicTarihi += fName.Element("BaslangicTarihi").Value + ",";
BitisTarihi += fName.Element("BitisTarihi").Value + ",";
}
LisansAdres = LisansAdres.TrimEnd(',');
Versiyon = Versiyon.TrimEnd(',');
LisansBaslangicTarihi = LisansBaslangicTarihi.TrimEnd(',');
BitisTarihi = BitisTarihi.TrimEnd(',');
LisansKodu = LisansKodu.TrimEnd(',');
AdresParcala = LisansAdres.Split(',');
VersiyonParcala = Versiyon.Split(',');
BaslangicTarihiParcala = LisansBaslangicTarihi.Split(',');
BitisTarihiParcala = BitisTarihi.Split(',');
LisansNoParcala = LisansKodu.Split(',');
bool Kontrol = false;
for (int i = 0; i < AdresParcala.Length; i++)
{
if (siteAdresi == AdresParcala[i].ToString())
{
Kontrol = true;
i = AdresParcala.Length;
}
else
{
Kontrol = false;
}
}
if(Kontrol)
{
for (int i = 0; i < AdresParcala.Length; i++)
{
if (siteAdresi == AdresParcala[i].ToString())
{
int BTarih = DateTimeToInt(Convert.ToDateTime(BaslangicTarihi));
int BitTarih = DateTimeToInt(Convert.ToDateTime(BitisTarihiParcala[i].ToString()));
if (BitTarih >= BTarih)
{
ViewBag.SiteAdi = AdresParcala[i].ToString();
ViewBag.Versiyon = VersiyonParcala[i].ToString();
ViewBag.BaslangicTarihi = BaslangicTarihiParcala[i].ToString();
ViewBag.BitisTarihi = BitisTarihiParcala[i].ToString();
ViewBag.LisansKodu = LisansNoParcala[i].ToString();
i = AdresParcala.Length;
}
else
{
Response.Redirect("http://www.siteadi.com/Uyari.html");
}
}
}
}
else
{
Response.Redirect("http://www.siteadi.com/LisansYokUyari.html");
}
}
Daha sonrasında bu kodlarımızı
public ActionResult Index()
{
LisansKontrol();
return View();
}
içinde çağırıyoruz.
Daha sonrasında view klasöründe Index.cshtml dosyamız içerisinde değişiklik yapıyoruz.
<p>Domain : @ViewBag.SiteAdi</p>
<p>Güncel Sürüm : @ViewBag.Versiyon</p>
<p>Lisans Kodu : @ViewBag.LisansKodu</p>
<p>Lisans Başlangıç Tarihi : @ViewBag.BaslangicTarihi</p>
<p>Lisans Bitiş Tarihi : @ViewBag.BitisTarihi</p>
Örnek Lisans Xml Dosyamız ise aşağıda ki şekilde ayarlıyoruz.
<?xml version="1.0" encoding="ISO-8859-1"?>
<Lisanslama>
<Site>
<ID>1</ID>
<SiteAdi>http://localhost:4280/</SiteAdi>
<Versiyon>20012014</Versiyon>
<LisansNo>20150312-EDM-TCRT001</LisansNo>
<BaslangicTarihi>20.01.2014</BaslangicTarihi>
<BitisTarihi>13.10.2015</BitisTarihi>
</Site>
</Lisanslama>
Sorunsuz çalışacaktır muhtemelen. Örneğin kaynak kodunu BURADAN indirebilirsiniz.