Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz. Bilgisayarım\Yönet\Hizmetler gelerek bahsettiğim hizmetleri görebilirsiniz. Projemde bana lazım olan 2 saatte bir kontrol yapan, bir Windows servis yazacağız.
Yazacağımız Windows servis, bir Timer aracılığı ile Mssql veritabanımızı kontrol edip, istediğimiz koşul gerçekleştiğinde, mail gönderecektir. Sanırım burada açıklamaktansa kodları yazmak daha anlaşılır olacaktır.
Bu arada mail gönderme kısımlarını değiştirdim, oraları kendi server bilginize göre düzenlersiniz. Aşağıdaki kodları Setup olarak kurup, istediğiniz server‘da çalıştırabilirsiniz.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using System.Data.SqlClient;
using System.Net.Mail;
using System.Net; Devamını Oku
Aşağıdaki kodları bir butona yerleştirdiğimizde, oradaki “Gridviewiniz” kısmını kendi Gridview ayarlayarak, verilerinizi olduğu gibi Excel‘e aktarabilirsiniz. Rapor.xls olarak masaüstüne kaydedecektir.
HtmlForm form1 = new HtmlForm();
form1.Controls.Add(Gridviewiniz);
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.ContentEncoding = System.Text.Encoding.GetEncoding(“windows-1254″);
Response.Charset = “windows-1254″; //ISO-8859-13 ISO-8859-9 windows-1254
System.Web.HttpContext.Current.Response.AddHeader(“content-disposition”, “attachment;filename=Rapor.xls”);
Response.ContentType = “application/vnd.ms-excel”;
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Gridviewiniz.RenderControl(htmlWrite); Devamını Oku
Session nesnesi bir oturum boyunca tutulan geçici verilerdir.Örneğin;forumlarda üye girişi yaptıktan sonra bir süre sonra logout olduğunuzu fark edersiniz.Bunun nedeni Session zamanın kısa olmasıdır.Session nesnesinin kullanımı oldukça basittir.
Session ["Adi"]=Text1.text; //Burada örnek olarak Text1.text adlı textbox'tan veri okutalım.
Response.Redirect("Default2.aspx");//Oluşturacağımız sayfaya yönlendiriyoruz.
//Default2.aspx diye yeni web sayfamızı ekleyelim.Bir tanede Session nesnemizi göstermek için label koyalım.
Label1.text=Session["Adi"];
Load kısmına yazdığımız üst satır sayesinde Session nesnemiz bir sayfadan diğerine taşınmış oldu.Peki Session ayarlarını nasıl yapabiliriz?
Bunun için Add New Item’dan Global Application Class ekliyoruz.Eklediğimiz dosyanın içersine yazmak üzere;
<sessionState> mode="SQLserver" //Session nesnesinin sql kaydedileceğini belirtir.Default değeri "InProc"dur. cookieless="true" //Cookiler kullanıcın bilgisayarında saklanır.Default değeri "False"dır. timeout="5" //Kaç dakika sonra session son bulacağını belirtir.Default değeri "20" dakikadır.
Asp.net veya C# da gridview ile henüz tanışanlar,satırları seçtikleri zaman işaretlenmediklerini görecekler.Bu durum sizin için önemsiz olacak ama kullanıcılar açısından önemli olduğu için o satır işaretlemesini yapmak zorunda kalacaksınız.Ben aynı duyguları yaşadığım için aşağıda kodu paylaşıyorum…
Kodu Gridview‘in RowCreated event‘ına ekleyin.
if (e.Row.RowType != DataControlRowType.DataRow) return;
// eger yaratilan satir farkliysa data satirindan buradan cik
e.Row.Attributes.Add("onmouseover", "this.originalstyle=this.style.backgroundColor;this.style.backgroundColor='#EEFF00'");
// mouse overina bu stil attribute'ini ekle
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=this.originalstyle;");
// mouse out ise eski stile don
Kod şuan sorunsuz olarak çalışıyor.Yorum olarak çalışmıyor demeden önce lütfen yazım yanlışlarını kontrol ediniz.
Arkadaşlar hepiniz üye kayıt formlarında veya her hangi bir farklı giriş yapılan formlarda “Yanlış giriş yaptınız”,“@ kullanmadınız”,“En az 4 en fazla 8″ gibi hata mesajları almışsınızdır.Bugün sizlere asp.net‘te bu özelliğin ne kadar kolay eklenebildiğinden bahsetmeye çalışacağım.Bunu yapmak adına öncelikle File>New>Website diyerek yeni bir websayfası oluşturma alanı açıyoruz.Daha sonra sol taraftan Validation kısmına geliyoruz.Burada yine hemen hemen aynı görevi üstlenen çeşitli kontroller var ancak biz konumuz gereği RegularExpressionValidator ekliyoruz.Daha sonra yine formumuza deneme yapmak için bir adet textbox ve button ekliyoruz.
Bu özelliği kullanırken kod yazmayacağız tamamen windows formlar üzerinden işimizi halledeceğiz.Hemen RegularExpressionValidator özelliklerine gelerek ValidationExpression özelliğine tıklıyoruz.Karşımıza bir liste çıkıyor,bu listeden anlayacağınız üzere çeşitli standartlar otomatik olarak eklenmiş,örnek veriyorum;Internet E-Mail Address bunu seçtiğimizi varsayarak devam ediyorum.Alt kısımda Validation Expression yazan bölümde
w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*
olan kısmın ne anlama geldiğini az sonra açıklayacağım.Öncelikle örneğimizin çalışması adına Error Message kısmına “@ işareti olamalı” hatasını ekliyoruz.Sonra ControltoValidate özelliğine button1 seçiyoruz.Bunun anlamı button1 basıldığında kontrol et demektir.Kodu derlediğinizde eğer @ işareti kullanmazsanız bir üst satırda yazdığımız hatayı aldığınızı göreceksiniz.Şimdi gelelim Validation Expression da Custom olarak kendi formatımızı belirlemeye bunun için Expression kodlarını yazmamız gerekiyor.Onlar da sabit olarak aşağıda veriyorum.