2 saatte bir mail atan Windows Servis

Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz. BilgisayarımYönetHizmetler 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;

Asp.Net Excel’e veri aktarmak

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);

Asp.net Session Nesnesi

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.

[c language=”c#”]
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"];
[/c]

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;

[c language=”c#”]

<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.

[/c]

Gridview’de seçili satırı renklendirmek

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.

[c language=”#”]

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

[/c]

Kod şuan sorunsuz olarak çalışıyor.Yorum olarak çalışmıyor demeden önce lütfen yazım yanlışlarını kontrol ediniz.

Arama
RSS
Beni yukari isinla