19 Nisan 2013 Cuma

Türkiye'de kayıtlı iPhone'a Google Map indirmek


En son IOS güncellemesi ile Apple şirketi kendi harita uygulamasını sunmuştu. Yeni haritası ile konum bulmak oldukça zor. Apple'ın daha önce kullandığı Google Map uygulaması Türkiye Apple Store'a açık olmadığından,  browser ile Google Map açıp,  ulaşmak istediğim noktayı bulmaya çalışıyordum.  Bu zor durumdan kurtulmanın bir yolu olduğunu fark ettim ve sizinle de paylaşmak istedim.


İşlemimiz çok kolay, Çözüm: hesabımızın tanımlı olduğu ülke bilgisini "United States" olarak ayarlamak ve uygulamayı indirmek :). Fakat bu yöntemi  iPhone üzerinden denediğimizde,uygulamayı indirirken sorun oluyor. Bu değiştirme sürecini iTunes üzerinden denediğimde başarılı bir şekilde Google Map uygulamasını indirebildiğimizi gördüm :)  İndirdikten sonra tekrar ülke konumunu Türkiye yapabilirsiniz :) 

Adım adım ülke değişimi ve sonucu ;






Not: Ödeme türü olarak "None" seçelim.




iPhone'daki hali :)

8 Nisan 2013 Pazartesi

LoadLibraryEx failed on aspnet_filter.dll (ISAPI) (Error - Solution)

Localhost da aldığım bir hata ve çözüm yolu;

LoadLibraryEx çağrısı ISAPI "C:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.dll





Çözüm için;


INETMGR (IIS Manager) üzerinde "ISAPI Filters" kısmında ASP.NET_4.0.30319.0 dışındaki "4.0_" la başlıyan filter dll lerini silelim. (aşağıdaki sarı ile işaretli olanları.)



Ayrıca "ISAPI and CGI Restrictions" bölümünden aşağıdaki gibi v4.0.30319 için izin verilmiş olması gerekmektedir.


5 Nisan 2013 Cuma

Returning a value from a thread - .NET

Basit bir paket gönderme programında oluşturduğum thread ler içerisindeki iş fonksiyonlarından sonuçları asekron bir şekilde okumam için yazdığım dinamik sınıf aşağıdadır.

ThreadExecuter sınıfım Thread içersinde çalıştırılacak sınıf fonsiyonu ve sonunda değer döndürecek bir fonksiyon istemektedir.
 
 
    public class ThreadExecuter where T : class
    {
        public delegate void CallBack (T returnValue);
        public delegate T Method();
        private CallBack callBack;
        private Method method;

        private Thread t;

        public ThreadExecuter(Method _method, CallBack _callBack)
        {
            this.method = _method;
            this.callBack = _callBack;

            t = new Thread(this.Process);
        }

        public void Start() 
        {
            t.Start();
        }

        public void Abort()
        {
            t.Abort();
            callBack(null);
        }

        public void Join()
        {
            t.Join();
        }

        private void Process()
        {
            callBack(method());
        }
    }

Test ordamında kodumuzu deniyelim.

 
namespace Tester
{
    class Program
    {
        static void Main(string[] args)
        {
            #region [ Paket Data]
             ...
            #endregion

            for (int i = 0; i < 20; i++)
            {
                Packet packet = new Packet() { Data = data, Host = "www.google.com.tr", Port = 80, Id = i };
                SocketManager sm = new SocketManager() { packet = packet };

                ThreadExecuter te = new ThreadExecuter(sm.Send, writeScreen);
                te.Start();
            }

            Console.WriteLine("bitti.");
            Console.ReadKey();
        }

        private static void writeScreen(Packet p)
        {
            Console.WriteLine(p.Id + " - " + p.Status.ToString());
        }
    }
}
 

Eğer ki Join kullanarak gerçekleştirdiğimizde ;

 ThreadExecuter te = new ThreadExecuter(sm.Send, writeScreen);
                te.Start();
                te.Join();