Filed under: Yazılım

Mail Gönderme C# Kodu // Send Mail C# Code

Ocak 14th, 2009

KOD:

        MailMessage mail = new MailMessage();
        public void MailSend(string body, string subject, string strTO)
        {
            mail = new MailMessage();
            mail.To.Add(strTO);
            mail.Subject = subject;
            mail.From = new MailAddress("from@from.com");
            mail.Body = body;
            SmtpClient smtp = new SmtpClient("smtp.server.address");
            smtp.UseDefaultCredentials = true;
            try
            {
                smtp.Send(mail);
            }
            catch (Exception ex)
            {
                //Error
            }
        }

Tags: , ,
Posted in .NeT 2008 | No Comments »

Export DLL From Assembly

Aralık 28th, 2008

GAC Util de bulunan DLL’lerinizi assembly klasörünüzden başka bir klasöre çıkarmak, başka bir makinaya taşımak veya kopyalamak, normal klasörlerdeki benzer işlemlere nazaran çok daha zordur. Herhangi bir dll in üzerine sağ tıklarsanız şekildeki gibi bir ekranla karşılaşırsınız.

assembly

assembly

şekilde de görüldüğü üzere istediğiniz işlemleri bulamayabilirsiniz. CTRL+c ve CTRL+x i denediğinizi görür gibi oluyorum. Fakat bu işlem de işinize yaramayacaktır. Assembly klasörünü başka bir makinaya komple kopyalarsanız, bu işlemle de sadece o makinanın dll lerini kopyalamış olursunuz. Uzun lafın kısası bu iş kolayca olmuyor :)

Uzun Yol ile :

  1. Bir adet command prompt açın,
  2. c:\\Windows\Assembly\GAC veya c:\\Windows\Assembly\GAC_MSIL klasörlerinden birinde istediğiniz DLL dosyasını bulun
  3. Örneğin xyz.dll dosyasını, Gac_MSIL klasöründe bulduk. c:\\Windows\Assembly\GAC_MSIL\xyz\ dizinine gidin, Buradaki xyz dizini, dll adıyla birebir aynıdır.
  4. Daha sonra aşağıdaki şekildeki gibi xyz.dll dosyası Assembly klasöründe bulunur ve dosyanın özelliklerine gidilir.assembly1
  5. Yukarıdaki şekilde altı çizili versiyon ve public key token bilgilerindeki “versiyon__publickeytoken” şeklindeki bir alt klasöre geçilir. Resimdeki DLL için örnek verecek olursak klasör adı : 10.0.4504.0__31bf3856ad364e35  olacaktır.
  6. Son olarak da bu klasör içerisinde “copy xyz.dll c:\xyz.dll” komutula dosyamızı istediğimiz yere kopyalayabiliriz.

Gözünüz korktu di mi :) Düşünün bunlardan en az 200 tanesinin yedeğini almak istediğinizi,

Çözüm Kısa yolumuz :

  1. Basit olarak hazırladığım şu kodu kullanabilirsiniz :
  2. FileStream fs = new FileStream("c:\\dllisimleri.txt", FileMode.Open, FileAccess.Read);
    StreamReader sr = new StreamReader(fs);
    string arguments;
    string read = sr.ReadLine().Trim();
    string read1 = sr.ReadLine().Trim();
    while (read != null)
    {
    Console.WriteLine(read);
    try
    {
    File.Copy("c:\\\\WINDOWS\\assembly\\Gac_MSIL\\" + read + "\\"+read1+"\\" + read + ".DLL", "C:\\\\DLL\\" + read + ".dll");
    
    read = sr.ReadLine().Trim();
    read1 = sr.ReadLine().Trim();
    }
    catch (Exception ex)
    {
    break;
    }
    }
    
  3. dllisimleri.txt dosyasının içeriğini de aşağıdaki gibi yaparsanız, istediğiniz dosyaları hemen alabilirsiniz;
  4. xyz1
    1.0.0.0__916a267ef328a0b9
    xyz2
    1.0.0.0__b715a15ad90d37db
    xyz3
    1.0.0.0__f4df43ff1813a7d4
    xyz4
    1.0.0.0__71e9bce111e9429c

    buradaki xyz, kopyalamak istediğiniz dll dosyalarının ismi (.dll olmadan),
    1.0.0.0__916a267ef328a0b9 bilgilerini de yukarıda anlattığım gibi hazırlayabilirsiniz.

  5. Başka bir kolaylık olarak Gac_MSIL klasörüne girdiğinizde dir /p, komutuyla command prompt dan tüm isimleri tarayabilirsiniz. Bu sayede tek tek kopyalamak zorunda kalmaz, rahatınıza bakarsınız…

Tags: , , ,
Posted in .NeT 2008, Sharepoint | 2 Comments »

HTML Encode

Aralık 16th, 2008

Veritabanına kayıt eklerken, bazı dış mahlukatlar tarafından saldırıya uğramak istemiyorsanız (SQL Injection), ekleme yaptığınız değerleri bir kontrolden geçirmenizde fayda var. En kolay yol olarak da size HTMLEncode metodunu önerebilirim. Kullanımı

string veri= HttpUtility.HtmlEncode(TextBox1.Text);

şeklindedir ve ilgili saldırılardan uzak yaşam sürmenizi sağlayacaktır.

Tags: ,
Posted in .NeT 2008 | No Comments »

ASP.NET’ de IP Adresi Alma

Aralık 16th, 2008

Makinenin iç IP’sini almak için;

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

ya da ;

HttpContext.Current.Request.UserHostAddress;

Makinenin dış IP’sini almak için ise;

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

komutlarını kullanabilirsiniz.

Tags: ,
Posted in .NeT 2008 | 2 Comments »

“MultiLine” TextBox da MaxLength

Aralık 15th, 2008

Eğer Kullandığınız TextBox’ ın propertieslerinden türünü MultiLine yaparsanız, İlgili TextBox’ın MaxLength kontrolü artık çalışmayacaktır.

Çözüm olarak bir adet RegularExpressionValidator kullanabilirsiniz. ControlToValidate özelliğini ilgili TextBox’a ayarlayın.

Expression olarak da ;

^[\s\S]{0,200}$

yazarsanız, MAX özelliğini 200′e ayarlamış olursunuz. Bu ifadedeki 200 sayısını istediğiniz bir sayıyla değiştirerek maximum karakter sayısını belirleyebilirsiniz.

Tags: ,
Posted in .NeT 2008 | No Comments »

BizTalk 2009 Beta

Aralık 13th, 2008

BizTalk 2009 Beta hakkında güzel bir yazı…

Tags: ,
Posted in BizTalk | No Comments »

DropDownList’de RequiredFieldValidator Kullanımı

Aralık 12th, 2008

Kullanmakta olduğunuz DropDownList’lerde mutlaka bir seçimin yapılmasını istiyorsanız, yapmanız gerekenler;

Öncelikle TextBox’lardaki gibi RequiredFieldValidator’u basitçe kullanırsanız, maalesef benim yaptığım gibi, güzelcene “lan nie olmuo bu” diye afallarsınız :) Bu durumda bizim kullanmamız gereken RequiredFieldValidator’un “InitialValue” özelliği…

Şekilli olarak basitçe anlatmam gerekirse;

  1. İlk önce şekildeki gibi bir ekran hazırladım ben, sizin mutlaka buna benzer bir görüntünüz mevcuttur zaten elinizde :)
  2. gorunum

  3. Daha sonra, ilgili RequiredFieldValidatorumuzun “InitialValue” Özelliğini, DropDownList’ imizin 0. itemının value’sına eşitliyoruz. Bu sayede kontrolümüz default değerin ne olduğunu anlayabilecek ve bu değer değişmemişse seçilmediğine dair bir uyarı verecektir. Aşağıdaki şekilde gerekli properties ayarı ve kaynak kodu bulabilirsiniz.

properties

kaynakkod

Kaynak Kod Ekran Görüntüsü:

Kaynak Kod :

ASPX Dosyası :

<%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”Default.aspx.cs” Inherits=”WebApplication1._Default” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head runat=”server”>
<title>Untitled Page</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
<asp:DropDownList ID=”DropDownList1″ runat=”server”>
<asp:ListItem Selected=”True” Text=”-Seçiniz-” Value=”SECILMEDI”></asp:ListItem>
<asp:ListItem Text=”seç 1″ Value=”SEC1″></asp:ListItem>
<asp:ListItem Text=”seç 2″ Value=”SEC2″></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID=”RequiredFieldValidator1″ runat=”server”
ControlToValidate=”DropDownList1″ ErrorMessage=”Lütfen Seçim Yapın…”
InitialValue=”SECILMEDI”></asp:RequiredFieldValidator>
<br />
<br />
<asp:Button ID=”Button1″ runat=”server” Text=”Button” />
</div>
</form>
</body>
</html>

Son olarak sayfayı test edersek,

secimsonrasi

şeklinde uyarımızı alabiliriz…

Tags: , ,
Posted in .NeT 2008 | No Comments »

.NeT Görüntünü Değiştir

Aralık 9th, 2008

“Bana arkadaşını söyle sana kim olduğunu söyliyeyim” derler ya,

“Bana .NeT settings lerini söyle sana kim olduğunu söyliyeyim” derim :)

.Net de kullandığım font tipi : Consolos

.NeT theme : the Dark Side of Visual Studio

ilgili linklerden gerekli kurulumları gerçekleştirebilirsiniz. Kurulumlar sonrasında .NeT görünümünüz aşağıdaki gibi olacaktır;

Tags: , ,
Posted in .NeT 2008, Bilgisayar | No Comments »

.NeT Full Screen

Aralık 9th, 2008

.Net üzerinde şekildeki gibi kod geliştiriyorken,

ALT + Left SHIFT + ENTER tuşlarıyla, kod ekranını full screen yapabilirsiniz.

Tags: ,
Posted in .NeT 2008, Bilgisayar | No Comments »

.NeT’de Blok Olarak Seçme

Aralık 2nd, 2008

Normalde kod yazarken, belirli bir kısmı taramak istediğimizde, doğal olarak aşağıdaki gibi seçilecektir,

VS.NeT

Ama “Alt” tuşuna basılı tutarak aşağıdaki gibi, blok olarak seçim gerçekleştirebilirsiniz.

VS.NeT

Tags: , , ,
Posted in .NeT 2008, Bilgisayar | Yorumlar Kapalı