How to solve special character problem (like Turkish, Japannese etc) that occurs when return a result set as JSON?
You have special charachter in a resultset, maybe some errors occurs when it returns as json.
You can solve this problem using following solution. The function will convert only string data. Else this, won't be converted
Programming, QA, Security, Languages (Turkish, Esperanto, Latin and English).
error etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
error etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
5 Mart 2014 Çarşamba
JSON Olarak DÖndürülen Veri Setlerinde Oluşan Özel Karakter Hataları Nasıl Çözülebilir?
Veritabanından dönen bir veri kümesini, JSON olarak döndürmek istediğinizde bazı özel karakterlerin (Türkçe karakterler gibi) sorun yarattığını görmüşsünüzdür. Aşağıdaki örnek uygulamayı kullanarak bu sorunları çözebilirsiniz. Fonksiyon string tipinde olmayan dataları göz ardı edecek ve yalnızca string tipipndeki verileri dönüştürecektir.
12 Şubat 2010 Cuma
Web Sitesinde Oluşan Hataları SMS ile Öğrenmek
Kazanın, geliyorum, demeyeceğini hepimiz biliyoruz. Ama bazen, kazanın gelmiş olduğunun haberi bile, zararın boyutlarını azaltmak açısından büyük öneme sahip olabilir. Hele ki söz konusu olan, işletmelerimizin internetteki temsili olan web sitelerimiz ise, hem maddi kayıplar, hem müşteri memnuniyetsizliği söz konusu olabilir.
Çalışma zamanında oluşan hatalardan ya da uygulamanın illegal erişimlere karşı yükselttiği hata seslerinden anında haberdar olmak nasıl mümkün olacak? Elbette sistemdeki tüm etkinlikleri olay görüntüleyicilerden ya da diğer log dosyalarından öğrenebiliriz. Ama biz, log dosyaları arasında ayrıntıları yakalamaya çalışırken, çok şey kaybetmiş de olabiliriz. Aşağıda anlatacağım yöntem, Google Calendar Api ve C# kullanarak tarafımızdan yazılmış ve web sitesinde oluşan bütün hataları, en geç 2 dakika içinde size SMS yolu ile bildirebilecek bir uygulamadır. başarısından memnun kalınmış bir yöntemdir.
Ne gerekiyor?
1) Google Calendar'a erişim için bir Google hesabı. Gmail hesabınız var ise, Google diğer hizmetlerine olduğu gibi Google Calendar'a da ayrıca bir üyelik gerekmeden erişebilirsiniz.
2) Yazılımımızı Google Calendar ile bağlantılayacak olan uygulama arayüzleri (API) http://code.google.com/p/google-gdata/downloads/list adresinden .NET platformu için gereken paketleri indirebilirsiniz.
3) Google Calendar hesabınıza, GSM numaranızı kaydetmek ve SMS yolu ile gelen doğrulama kodunu, Google Calendar'a bildirmek
4) Uygulamamız için hazırlanmış bir adet Global.ASAX dosyası.
Uygulamanın Anatomisi
Google Calendar'a girdiğiniz etkinlikler; etkinliğie belirli bir süre kala(bu süreyi de siz beliyorsunuz, 1 saat, 1 gün, 1 dakika vs.) size seçeceğiniz bir yolla SMS ya da Email etkinlik hatırlatması gönderiyorlar. Uygulamamız da Google Calendar'ın bu özelliği üzerine bina edilecek. Uygulamamızda bir hata oluştuğunda,;Google Calendar'a bir etkinlik gireceğiz ve bu etkinliğin gerçekleşme zamanı, uygulamamızdaki hatanın oluştuğu zamandan 2 dakika sonrası olarak planlanacak ve yine girdiğimiz bu etkinliğe bir de etkinlik için hatırlatma gireceğiz ve bu hatırlatma, etkinlik tarihine 1 dakika kala bize SMS yolu ile yapılacak. İşte bütün mantık bu..
Kod Arka Planı
Global.asax (Global Application Class - Genel Uygulama Sınıfı) dosyası bilindiği gibi uygulama olaylarını yazabileceğimiz bir dosya. Uygulama başlangıçı ve bitişini imleyen olayların yer aldığı bu dosyada, oturum başlangıcında ve bitşiinde tetiklenecek olaylar da yer almaktadır.
Uygulamamızda bir Global.ASAX dosyası yaratıyoruz.
Hemen sonra, bu kütüphaneleri uygulamamıza referans olarak ekliyoruz. Sistemimize bağlantı kütüphaneleri (DLL) referans olarak eklendikten sonra, aşağıdaki ad alanlarını sistemimize ekliyoruz.
< % @ Import Namespace="Google.GData.AccessControl" % >
< % @ Import Namespace="Google.GData.Calendar" % >
< % @ Import Namespace="Google.GData.Client" % >
< % @ Import Namespace="Google.GData.Extensions" % >
Esas işi yapacak olan koda geldi sıra. Aşağıdaki kodu da, Google hesabınıza ait gerekli bilgileri girerek, Global.ASAX dosyamızdaki Application_Error olayına ekliyoruz.
Exception hata = Server.GetLastError();
CalendarService myService = new CalendarService("uygulama1");
myService.setUserCredentials(account@gmail.com, "password");
Google.GData.Calendar.EventEntry entry = new Google.GData.Calendar.EventEntry
(Request.Path.ToString()+":"+hata.InnerException.Message, Request.Path.ToString()
+":"+hata.InnerException.Message, "web");
DateTime zaman = new DateTime(DateTime.Now.Year, DateTime.Now.Month,
DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.AddMinutes(2).Minute, 0);
When eventTime = new When(zaman, zaman.AddMinutes(3));
Reminder r = new Reminder();
r.Method = Reminder.ReminderMethod.sms;
r.Minutes = 1; entry.Times.Add(eventTime);
entry.Reminders.Add(r);
Uri postUri = new Uri("http://www.google.com/calendar/feeds/default/private/full");
myService.Insert(postUri, entry);
Hepsi bu kadar.
Kolaylıklar dilerim,
Saygılarımla.
Çalışma zamanında oluşan hatalardan ya da uygulamanın illegal erişimlere karşı yükselttiği hata seslerinden anında haberdar olmak nasıl mümkün olacak? Elbette sistemdeki tüm etkinlikleri olay görüntüleyicilerden ya da diğer log dosyalarından öğrenebiliriz. Ama biz, log dosyaları arasında ayrıntıları yakalamaya çalışırken, çok şey kaybetmiş de olabiliriz. Aşağıda anlatacağım yöntem, Google Calendar Api ve C# kullanarak tarafımızdan yazılmış ve web sitesinde oluşan bütün hataları, en geç 2 dakika içinde size SMS yolu ile bildirebilecek bir uygulamadır. başarısından memnun kalınmış bir yöntemdir.
Ne gerekiyor?
1) Google Calendar'a erişim için bir Google hesabı. Gmail hesabınız var ise, Google diğer hizmetlerine olduğu gibi Google Calendar'a da ayrıca bir üyelik gerekmeden erişebilirsiniz.
2) Yazılımımızı Google Calendar ile bağlantılayacak olan uygulama arayüzleri (API) http://code.google.com/p/google-gdata/downloads/list adresinden .NET platformu için gereken paketleri indirebilirsiniz.
3) Google Calendar hesabınıza, GSM numaranızı kaydetmek ve SMS yolu ile gelen doğrulama kodunu, Google Calendar'a bildirmek
4) Uygulamamız için hazırlanmış bir adet Global.ASAX dosyası.
Uygulamanın Anatomisi
Google Calendar'a girdiğiniz etkinlikler; etkinliğie belirli bir süre kala(bu süreyi de siz beliyorsunuz, 1 saat, 1 gün, 1 dakika vs.) size seçeceğiniz bir yolla SMS ya da Email etkinlik hatırlatması gönderiyorlar. Uygulamamız da Google Calendar'ın bu özelliği üzerine bina edilecek. Uygulamamızda bir hata oluştuğunda,;Google Calendar'a bir etkinlik gireceğiz ve bu etkinliğin gerçekleşme zamanı, uygulamamızdaki hatanın oluştuğu zamandan 2 dakika sonrası olarak planlanacak ve yine girdiğimiz bu etkinliğe bir de etkinlik için hatırlatma gireceğiz ve bu hatırlatma, etkinlik tarihine 1 dakika kala bize SMS yolu ile yapılacak. İşte bütün mantık bu..
Kod Arka Planı
Global.asax (Global Application Class - Genel Uygulama Sınıfı) dosyası bilindiği gibi uygulama olaylarını yazabileceğimiz bir dosya. Uygulama başlangıçı ve bitişini imleyen olayların yer aldığı bu dosyada, oturum başlangıcında ve bitşiinde tetiklenecek olaylar da yer almaktadır.
Uygulamamızda bir Global.ASAX dosyası yaratıyoruz.
Hemen sonra, bu kütüphaneleri uygulamamıza referans olarak ekliyoruz. Sistemimize bağlantı kütüphaneleri (DLL) referans olarak eklendikten sonra, aşağıdaki ad alanlarını sistemimize ekliyoruz.
< % @ Import Namespace="Google.GData.AccessControl" % >
< % @ Import Namespace="Google.GData.Calendar" % >
< % @ Import Namespace="Google.GData.Client" % >
< % @ Import Namespace="Google.GData.Extensions" % >
Esas işi yapacak olan koda geldi sıra. Aşağıdaki kodu da, Google hesabınıza ait gerekli bilgileri girerek, Global.ASAX dosyamızdaki Application_Error olayına ekliyoruz.
Exception hata = Server.GetLastError();
CalendarService myService = new CalendarService("uygulama1");
myService.setUserCredentials(account@gmail.com, "password");
Google.GData.Calendar.EventEntry entry = new Google.GData.Calendar.EventEntry
(Request.Path.ToString()+":"+hata.InnerException.Message, Request.Path.ToString()
+":"+hata.InnerException.Message, "web");
DateTime zaman = new DateTime(DateTime.Now.Year, DateTime.Now.Month,
DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.AddMinutes(2).Minute, 0);
When eventTime = new When(zaman, zaman.AddMinutes(3));
Reminder r = new Reminder();
r.Method = Reminder.ReminderMethod.sms;
r.Minutes = 1; entry.Times.Add(eventTime);
entry.Reminders.Add(r);
Uri postUri = new Uri("http://www.google.com/calendar/feeds/default/private/full");
myService.Insert(postUri, entry);
Hepsi bu kadar.
Kolaylıklar dilerim,
Saygılarımla.
Etiketler:
error,
google apps smtp c#,
google calendar,
hata,
reminder,
sms
Kaydol:
Kayıtlar (Atom)