Respond needs javascript to run. To find out more click here
yuhubaa » Sayfa 2 » Serdar Demir
RSS
 

Author Archive

.net in en kullanışlı sınıfları ve özellikleri

30 Kas

.net in en kullanışlı sınıfları ve özellikleri

.net framework bildigimiz gibi bir çok sınıfı barındırıyor bunlardan bazıları saatlerce debelnemekten bizi kurtaran sınıflar bir asp.net developer  olarak  kullananlar bilir mesela bir path onune @ ~ ../ gibi karakterler koymak Server.mappath   kullanmak işimizi zorda olsak işimizi çözer ama bir yandan da en çok hataya bu tarz string birleştirme path yanlışlıkları yol açar.

public string GetFullPath(string filename)

{

string folder = ConfigurationManager.AppSettings["upload"];

return System.IO.Path.Combine(folder, filename);

}

 

Bunun yerine Path.Combine kullanarak hatanın ve ozel karakterlerin önune geçebiliriz.

 

Veya
string fileName = Path.GetFileName(fullPath);

 

 

System.Web.VirtualPathUtility sınıfı

~ lı bir adresi çözmek için kullanabileceğim bir sınıf

string path = VirtualPathUtility.ToAbsolutePath("~/UserControl/serdar.ascx");

 

//çıktısı /SD/firsatseninle/ UserControl /serdar.ascx.

 

Bunların dısında asp.net te script ve html tagları hep problem olmaktadır(site hack meta tag vs :D ) normal sartlarda asp.net <’”% gibi işaretler girildiginde bir exception fırlatır ve işlemi sonlandırır bunu sayfanın propertieslerinden açabilirsiniz ama yapmayın J html decode ve html encode işlemleri için System.Web.HttpUtility sınıfını kullanıyoruz bu sınıf sayesinde <p style=”color:red;”>serdar</> gibi ibir ifadeyi iştersek html encode edebilir istersek decode yapabilir o kısmın kırmızı yazılmasını sağlayabilirz.

 

Encode =&lt;p&gt;&amp;&lt;/p&gt;

Decode da ise serdar

 

Yaptıraibliriz. Burda soyle bir ornek vereyim databaseden bir string çekiyorsunuz ve string içerisinde html tagları var isterseniz stilli halde getirebilir isterseniz html etiketlerini zarar vermeyecek şekile getirebilirsiniz.

 

 

System.Environment sınıfı

 

//ilk kullanım

string s = “booo\r\n”;

//ikinci kullanım

string s = ” booo” + Environment.NewLine;

 

yukarıdaki iki kod örneği de aynı işlemi yapar fakat işletim sistemi farklılıkları bolge dil( kültür J) farklılıkları probleme yol açabilir bu yüzden msdn de 2. Kullanım gibi tavsiye ediliyor.

Bunların yanısıra datetime time ile ilgilide bir çok kullanışlı sınıf mevcut hatta bir iş görüşmemde bana sorulan bir soruda hatfaınn ilk gununu bulmam ve ona göre işlemler yapmam istenmişti araştırıken msdn de şu kaynağı buldum

 

DateTime dt = new DateTime(2003, 5, 1);

Console.WriteLine(“Is Thursday the day of the week for {0:d}?: {1}”,

dt, dt.DayOfWeek == DayOfWeek.Thursday);

Console.WriteLine(“The day of the week for {0:d} is {1}.”, dt, dt.DayOfWeek);

(http://msdn.microsoft.com/tr-tr/library/system.dayofweek.aspx)

 

 
1 Comment

Posted in Asp.net, C#

 

C# Nullable Types

02 Kas

Veritabanı ile işlemler yaparken parametrelerin null gelme ihtimalleri durumunu da goze onunde bulundurmak gerekir bunu pl/sql t/sql ile veritabanın tarafında yapabilirsiniz ama kod tarafını da buna uygun duzenlemeniz gerekir. Null olması ile ” veya 0 aynı şeyler demek değildir ! buna dikkat etmek gerekir

Örneğin

//nullable type propertilerde kullanımı
public decimal? KimlikNo
{
get { return kimlikNo; }
set { kimlikNo = value; }
}private decimal? kimlikNo;

buı şekilde parametre mizi tanımlarsak parametreleri atarkenaşağıdaki gibi kullanabiliriz. Nullable alan tanımlamak için ? operatorörünü kullanıyoruz  Bunu yapmazsak null atayamayız

Nullable                                                                                  Not Nullable

MyClass.KimlikNo= null;                                                    MyClass.KimlikNo= null;

 

 
1 Comment

Posted in C#

 

Asp.net te Google URL Shortener API kullanımı

10 Ağu

Bir oyun için yapılan projede ürünlerin idlerini kendi hostuma kaydeyip ürünü alanlara bunun linkini veriyorum onlarda settingslerden ayarlıyorlar. Fakat burda soyle bir durum var oyun tarafında işlem yapabilemk için url ile bazı bilgiler taşımam gerekiyor bu da haliyle çok uzun bir link oluyor Google ın URL Shortener API sini kullanarak bu durumu düzeltebiliriz.

public class GoogleUrlShortnerApi
    {
        private const string key = "kendi apiniz";
//https://code.google.com/apis/console/ adresinden api keyinizi alabilirsiniz

        public static string Shorten(string url)
        {
            string post = "{\"longUrl\": \"" + url + "\"}";
            string shortUrl = url;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.googleapis.com/urlshortener/v1/url?key=" + key);

            try
            {
                request.ServicePoint.Expect100Continue = false;
                request.Method = "POST";
                request.ContentLength = post.Length;
                request.ContentType = "application/json";
                request.Headers.Add("Cache-Control", "no-cache");

                using (Stream requestStream = request.GetRequestStream())
                {
                    byte[] postBuffer = Encoding.ASCII.GetBytes(post);
                    requestStream.Write(postBuffer, 0, postBuffer.Length);
                }

                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        using (StreamReader responseReader = new StreamReader(responseStream))
                        {
                            string json = responseReader.ReadToEnd();
                            shortUrl = Regex.Match(json, @"""id"": ?""(?.+)""").Groups["id"].Value;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // if Google's URL Shortner is down...
                System.Diagnostics.Debug.WriteLine(ex.Message);
                System.Diagnostics.Debug.WriteLine(ex.StackTrace);
            }
            return shortUrl;
string url = GoogleUrlShortnerApi.Shorten("http://adasddasdda.com/Content/Data/Keys/76a214c5-18ac-ace4-219d-278bbbd614c3.txt");

Sonuç:
Eski:http://adasddasdda.com/Content/Data/Keys/76a214c5-18ac-ace4-219d-278bbbd614c3.txt

Yeni: http://goo.gl/Wtnm9

 
No Comments

Posted in Asp.net