icon Blog

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.


Yorumlar (0)



Yorum Yaz