انجمن‌های فارس وب

نسخه کامل: Redirect نمودن کاربران براساس کشورشان با استفاده ازNet Framework.
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
عنوان مقاله: Redirect نمودن کاربران براساس کشورشان با استفاده ازNet Framework.
سطح مقاله: متوسط
منبع: انجمن هاي فارس وب ([ جهت مشاهده لينك عضو شويد ! ])
-------------------------------------------------------------------------------------------------------------------------------

در این بخش یه آموزش گذاشتم که به نظرم جالبه ، این آموزش یه جور دسته بندی براساس کشورها و مناطقی است که مخاطبان سایتتان در آن قرار دارند ، اینکه بتوانیم کاربری را با توجه به کشوری که هست به صفحه خاصی Redirect کنیم ، این آموزش برای زمانی مناسب است که شما یک سایت چندزبانه ای دارید ، کاربرانتان را براساس زبان آن ها به صفحه خاصی بفرستید. یا می خواهید برای کاربرانتان مدیریت زبان را قرار دهید که خودشان انتخاب نمایید زبان پیش فرض برایشان چه زبانی باشد.
این آموزش از کامپوننتی برای تبدیل IP به آدرس استفاده می نماید به نام : IP2Location که می تونید اون رو از آدرس [ جهت مشاهده لينك عضو شويد ! ] دریافت نمایید.
بعد از دریافت این کامپوننت ، آن را به Reference هایتان اضافه می نمایید ، فرض ما در این مثال این است که دو سری کاربر داریم ، کاربرانی از ایران که صفحه اصلی آن ها index_fa.htm است و کاربرانی که انگلیسی زبان هستند و صفحه ای اصلی آن ها index_en.htm است ،
حال کد زیر را در صفحه هایتان اضافه نمایید :

Using IP2Location;
private 
void Query(string strIPAddress)
{
    
IPResult oIPResult = new IP2Location.IPResult();
     try
    {
      if (
strIPAddress != "")
      {
        
IP2Location.Component.IPDatabasePath "C:\Program Files\
IP2Location\Database\IP-COUNTRY.SAMPLE.BIN"
;
oIPResult IP2Location.Component.IPQuery(strIPAddress);
        switch(
oIPResult.Status.ToString())
        {
          case 
"OK"
            if (
oIPResult.CountryShort == "IR") {
              
Response.Redirect("index_fa.htm")
            } else {
              
Response.Redirect("index_en.htm")
            } 
            break;
          case 
"EMPTY_IP_ADDRESS":
              
Response.Write("IP Address cannot be blank.");
            break;
          case 
"INVALID_IP_ADDRESS":
               
Response.Write("Invalid IP Address.");
            break;
          case 
"MISSING_FILE":
              
Response.Write("Invalid Database Path.");
            break;
        }
      }
      else
        {
          
Response.Write("IP Address cannot be blank.");
        }
    }
    catch(
Exception ex)
      {
        
Response.Write(ex.Message);
      }
    
finally 
      
{
        
oIPResult null;
      }


در این کد ابتدا وجود کامپوننت را بررسی می نماید ، سپس IP را به کشور map می کند و براساس آن صفحه را Redirect می نماید ، در صورتی که مشکلی در ip باشد و یا ip ناشناس باشد پیغام مناسب را نمایش می دهد.
شما می توانید از این کامپوننت استفاده نکنید و خودتان با توجه به range موجود ip صفحات را redirect نمایید.

امیدوارم این آموزش کوتاه برای شما هم جالب باشد. شیطون


<این مقاله برای اولین بار در انجمن های فارس وب منتشر شده ، با استفاده آن بدون ذکر منبع زحمات نویسنده را هدر ندهید>

مرجع آدرس ها