none
ASP.NET URL Routing Virtual Subdomain RRS feed

  • Soru

  • Merhaba
    Google üzerinde bu konuyu belki binlerce kez araştırdım net bir sonuca varamadım bu sebepli sizlerin yardımlarına ihtiyacım var. Veritabanımızda User diye bir tablo olsun bu tabloda cengizhan,ahmet,sumeyra gibi isimler mevcut ve ben bu isimleri subdomain olarak şu şekilde kullanmak istiyorum

    cengizhan.domainname.com
    ahmet.domainname.com
    sumeyra.domainname.com

    bu sanal subdomain yapısını oluşturmamız mümkün mü acaba nasıl oluşturabiliriz

    16 Ocak 2014 Perşembe 12:13

Yanıtlar

  • Merhaba;

    Global.asax'ta Application_Start'ta RegisterRouters yapabilirsiniz. Örneği Burada bu işlemi yapabilirsiniz.

    Aşağıdaki kodlarlada istediğinizi yapabilirsiniz. Kullanici1,Kullanici2 olarak verdim. Aklınızda fikir oluşması açısından. Isterseniz bunu global'de yapabilirsiniz kullanıcı ismine bağlı kalmadan.

    pupublic class ExampleRoute : RouteBase
    {
        public override RouteData GetRouteData(HttpContextBase httpContext)
        {
            var url = httpContext.Request.Headers["HOST"];
            var index = url.IndexOf(".");
            if (index < 0)
                return null;
            var subDomain = url.Substring(0, index);
            if (subDomain == "Kullanici1")
            {
                var routeData = new RouteData(this, new MvcRouteHandler());
                routeData.Values.Add("controller", "Kullanici1"); 
                routeData.Values.Add("action", "Index"); 
    
                return routeData;
            }
            if (subDomain == "Kullanici2")
            {
                var routeData = new RouteData(this, new MvcRouteHandler());
                routeData.Values.Add("controller", "Kullanici2");
                routeData.Values.Add("action", "Index"); 
                return routeData;
            }
    
            return null;
        }
    
        public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
        {
            return null;
        }
    }


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft urunleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ucretsiz sunmaktadır. Bu icerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk ustlenildiği anlamına gelmez. Iletişim: Mail Gönder

    • Yanıt Olarak İşaretleyen Özgür Tekbaş 22 Ocak 2014 Çarşamba 10:34
    16 Ocak 2014 Perşembe 12:40
    Moderatör

Tüm Yanıtlar

  • Merhaba;

    Global.asax'ta Application_Start'ta RegisterRouters yapabilirsiniz. Örneği Burada bu işlemi yapabilirsiniz.

    Aşağıdaki kodlarlada istediğinizi yapabilirsiniz. Kullanici1,Kullanici2 olarak verdim. Aklınızda fikir oluşması açısından. Isterseniz bunu global'de yapabilirsiniz kullanıcı ismine bağlı kalmadan.

    pupublic class ExampleRoute : RouteBase
    {
        public override RouteData GetRouteData(HttpContextBase httpContext)
        {
            var url = httpContext.Request.Headers["HOST"];
            var index = url.IndexOf(".");
            if (index < 0)
                return null;
            var subDomain = url.Substring(0, index);
            if (subDomain == "Kullanici1")
            {
                var routeData = new RouteData(this, new MvcRouteHandler());
                routeData.Values.Add("controller", "Kullanici1"); 
                routeData.Values.Add("action", "Index"); 
    
                return routeData;
            }
            if (subDomain == "Kullanici2")
            {
                var routeData = new RouteData(this, new MvcRouteHandler());
                routeData.Values.Add("controller", "Kullanici2");
                routeData.Values.Add("action", "Index"); 
                return routeData;
            }
    
            return null;
        }
    
        public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
        {
            return null;
        }
    }


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft urunleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ucretsiz sunmaktadır. Bu icerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk ustlenildiği anlamına gelmez. Iletişim: Mail Gönder

    • Yanıt Olarak İşaretleyen Özgür Tekbaş 22 Ocak 2014 Çarşamba 10:34
    16 Ocak 2014 Perşembe 12:40
    Moderatör
  • Eğer VB kullanıyorsan Burada da bir örnek mevcut.

    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft urunleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ucretsiz sunmaktadır. Bu icerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk ustlenildiği anlamına gelmez. Iletişim: Mail Gönder

    16 Ocak 2014 Perşembe 12:45
    Moderatör
  • Bu yapıyı dinamik olarak nasıl kullanabilirim ? Mesela kategorilerim var şuan ki yapıları www.siteadi.com/14/kategoriadi olarak gözüküyor. Ben bunu Kategoriadi.siteadi.com olarak nasıl yapabilirim ? 
    16 Ocak 2014 Perşembe 12:48
  • Burada tam istediğiniz gibi anlatmış. 

    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft urunleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ucretsiz sunmaktadır. Bu icerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk ustlenildiği anlamına gelmez. Iletişim: Mail Gönder

    • Yanıt Olarak Öneren SerkanKLC 16 Ocak 2014 Perşembe 13:32
    16 Ocak 2014 Perşembe 13:01
    Moderatör
  • MVC kullanmıyorum 

    Teşekkürler
    16 Ocak 2014 Perşembe 19:11
  • Bahsettiğim subdomain metodunu web form için oluşturmak istiyorum yokmu yardım edebilecek.
    17 Ocak 2014 Cuma 14:32