PDA

View Full Version : localhost



javad0062
پنج شنبه 24 اردیبهشت 1388, 12:14 عصر
با سلام
وقتی می خوام با بانکم ارتباط برقرار کنم اگه در کد پایین به جای localhost بنویسم 127.0.0.1 ارتباط برقرار می شه ولی با localhost پیغام خطا می ده !! علت چیه؟؟؟؟؟؟؟/
<%@ Import Namespace="System.Data.SqlClient" %>

<Script Runat="Server">

Sub Page_Load
Dim conPubs As SqlConnection

conPubs = New SqlConnection( "Server=localhost;uid=sa;pwd=secret;database=pubs" )
conPubs.Open()
End Sub

</Script>

Connection Opened!

javad0062
جمعه 25 اردیبهشت 1388, 15:35 عصر
هیچ کس در ابتدای شروع کارش با ASP.net با این مشکل برخورد نکرده؟؟؟؟؟؟؟؟؟؟؟؟؟

raravaice
جمعه 25 اردیبهشت 1388, 15:44 عصر
از (local) به جای localhost استفاده کن

موفق باشید

javad0062
شنبه 26 اردیبهشت 1388, 23:51 عصر
lممنون از لطف شما، ولی علت این موضوع چیه؟
لطفا اگه اطلاعاتی در این مورد دارید بیشتر توضیح بدید!!!

حامد مصافی
یک شنبه 27 اردیبهشت 1388, 11:01 صبح
localhost یک نام اختصاص یافته با آدرس 127.0.0.1 است که فقط در اتصالات tcp/ip کاربرد دارد. این نام در فایل زیر تعریف شده است. همه نرم افزار ها برای اتصال از نام های اختصاص یافته فضا ها استفاده نمی کنند، فقط نرم افزار هایی مانند مرورگر ها تنظیمات این فایل را می خوانند.


%WinDir%\system32\drivers\etc\hosts

mehdi.mousavi
یک شنبه 27 اردیبهشت 1388, 11:57 صبح
localhost یک نام اختصاص یافته با آدرس 127.0.0.1 است که فقط در اتصالات tcp/ip کاربرد دارد. این نام در فایل زیر تعریف شده است. همه نرم افزار ها برای اتصال از نام های اختصاص یافته فضا ها استفاده نمی کنند، فقط نرم افزار هایی مانند مرورگر ها تنظیمات این فایل را می خوانند.


%WinDir%\system32\drivers\etc\hosts

سلام.
خوندن فایل مزبور، ربطی به Browser ها نداره. در واقع، این فایل، برای Map کردن یک IP Address به Host Name ها استفاده میشه. فایل Hosts قبل از ارائه مفهوم DNS، در ARPANET استفاده می شد و امروزه هم بخاطر Backward Compatibility حفظ شده. امروزه، هدف اصلی از فایل hosts، فراهم کردن امکانی برای یافتن سیستمها در LAN، بدون سرکشی به DNS هستش!

موفق باشید.

javad0062
یک شنبه 27 اردیبهشت 1388, 12:46 عصر
با تشکر از همگی
حرف دوست عزیزمون آقای mehdi6755 رو تایید میکنم. چون قبلا یک تغییراتی در این فایل داده بودم و باز هم مشکلم حل نشد.
ولی باهمه این تفاسیر هنوز من متوجه نشدم علت این موضوع چیه؟ با 127.0.0.1 جواب می ده با localhost جواب نمی ده !!!!!!!!!!!!!
از دوستان و اساتید ممنون می شم اگه توضیحی درباره این موضوع بدهند

mehdi.mousavi
یک شنبه 27 اردیبهشت 1388, 12:57 عصر
با تشکر از همگی حرف دوست عزیزمون آقای mehdi6755 رو تایید میکنم. چون قبلا یک تغییراتی در این فایل داده بودم و باز هم مشکلم حل نشد. ولی باهمه این تفاسیر هنوز من متوجه نشدم علت این موضوع چیه؟ با 127.0.0.1 جواب می ده با localhost جواب نمی ده !!!!!!!!!!!!! از دوستان و اساتید ممنون می شم اگه توضیحی درباره این موضوع بدهند

سلام.
دلائل زیادی میتونه داشته باشه... اما دلیل عمده اش استفاده از IPv6 هست. اگر اونو disable کنید، مشکل حل میشه. (چرا؟ از مایکروسافت بپرسید!). شما همچنین می تونید تو فایل hosts،
جای ::1، بزنید :::1 تا مشکل رفع بشه. (چرا؟ متاسفانه اینم اشتباه مایکروسافت هستش).

javad0062
یک شنبه 27 اردیبهشت 1388, 21:52 عصر
سلام.
دلائل زیادی میتونه داشته باشه... اما دلیل عمده اش استفاده از IPv6 هست. اگر اونو disable کنید، مشکل حل میشه. (چرا؟ از مایکروسافت بپرسید!). شما همچنین می تونید تو فایل hosts،
جای ::1، بزنید :::1 تا مشکل رفع بشه. (چرا؟ متاسفانه اینم اشتباه مایکروسافت هستش).

آقا معذرت می خوام ولی چه ربطی به IPV6 داشت .
رو سیستم من اصلا IPV6 نصب نیست
جواب بی ربطی بود!!!!!!!!!

mehdi.mousavi
دوشنبه 28 اردیبهشت 1388, 12:43 عصر
آقا معذرت می خوام ولی چه ربطی به IPV6 داشت. رو سیستم من اصلا IPV6 نصب نیست جواب بی ربطی بود!!!!!!!!!

سلام.
پاسخ من بی ربط نبود، دانش شما اندک هستش! وقتی IPv6 روی سیستم نصب میشه (که بصورت پیش فرض در Windows Vista این افتاق می افته)، localhost به آدرس ::1 map میشه. ::1 چیه؟ آدرس endpoint در IPv6. این بدین معنی هستش که درخواست هرگز به دست وب سروری که منتظر گرفتن پیام روی آدرس loopback یا همون 127.0.0.1 هستش، نمیرسه. (خواه این وب سرور Cassini باشه، خواه IIS). وقتی درخواست دستش نمیرسه، اتفاقی که شما گفتید میفته.

آدرس 0:0:0:0:0:0:0:1 در IPv6، معادل 127.0.0.1 در IPv4 هستش. آدرس 0:0:0:0:0:0:0:1 رو میشه در حالت Shorthand بصورت ::1 هم نوشت. در واقع، آدرسی که بیت LSB اون 1 و مابقی بیتهاش 0 باشه، آدرس loopback در نظر گرفته میشه، اگر چه میشه آدرسهای دیگه ای رو نیز به اون Assign کرد.

در IPv6، آدرسها رو میشه به دو فرم کلی نمایش داد:


Full Notation
Shorthand Notation

حالت اصلی، نوشتن کلیه بایتها بصورت 8 گروه در دسته های 4 تایی از ارقام Hex هستش. این دسته ها، با علامت : از هم جدا میشن، مثلا:

2001:0e51:54b2:0000:0000:0000:1262:21b1

هنگامیکه در یک دسته کلیه ارقام صفر باشن، میشه اونها رو با یک صفر نمایش داد:

2001:0e51:54b2:0:0:0:1262:21b1

در نهایت، دسته هایی از صفر رو که پشت سر هم قرار دارن رو میشه حذف کرد و جاش :: رو گذاشت (اما برای جلوگیری از اشتباه، اینکار فقط باید یکبار صورت بگیره):

2001:0e51:54b2::1262:21b1


حالا در مورد localhost، یعنی: 0000:0000:0000:0000:0000:0000:0000:0001

اینو میشه بصورت ::1 نمایش داد (طبق تعاریف فوق)، اما اینکه چرا وقتی این تعریف در hosts صورت میگیره اما localhost بدرستی به آدرس ::1 route نمیشه، همونطوری که قبلا هم گفتم، باید از مایکروسافت پرسید. اینکه چرا با تغییر ::1 به :::1 نیز مشکل حل میشه، بازهم باید از مایکروسافت پرسید.

پاورقی: همونطوری که در پست اول گفتم، این مساله "دلائل زیادی میتونه داشته باشه، اما دلیل عمده اش استفاده از IPv6 هست". من نمیدونم شما از Vista استفاده می کنید یا خیر، نمیدونم اصلا IPv6 روی سیستم شما نصب هست یا خیر، اما من حالتی رو شرح دادم که در Vista این مشکل رو برطرف خواهد کرد. اما احتمالا کسی که از Apache روی Mac OS X داره استفاده می کنه و به این مشکل برخورده، باید دنبال راه حل دیگه ای باشه! نسخه ای که من پیچیدم برای همه زمانها و مکانها و شرایط نبوده، و هرگز نخواهد بود! بازهم تکرار میکنم، گفتم "دلائل زیادی میتونه داشته باشه، اما دلیل عمده اش..."

موفق باشید.

javad0062
دوشنبه 28 اردیبهشت 1388, 13:34 عصر
[FONT=Tahoma]

سلام.
پاسخ من بی ربط نبود، دانش شما اندک هستش!

.

دوست عزیز لطفا درباره دانش افرادشما تصمیم گیری نکن
درباره IPV6 این مقاله رو من نوشتم شما مطالعه کن اطلاعاتت بیشتر میشه
http://javadshoaei.persiangig.com/document/ipv6.pdf

شما گفتید در Vista این طوری هست !! بهتر نبود توی نوشته قبلی تون به ویندوز ویستا اشاره می کردید تا مجبور نشید به خاطر نقص گفتاری خودتون به افراد توهین کنید

در هر صورت از اینکه لطف فرمودید و اطلاعاتی در اختیار بنده گذاشتید ممنون
در ضمن ویندوز بنده xp هست

mehdi.mousavi
دوشنبه 28 اردیبهشت 1388, 14:14 عصر
دوست عزیز لطفا درباره دانش افرادشما تصمیم گیری نکن درباره IPV6 این مقاله رو من نوشتم شما مطالعه کن اطلاعاتت بیشتر میشه
http://javadshoaei.persiangig.com/document/ipv6.pdf
شما گفتید در Vista این طوری هست !! بهتر نبود توی نوشته قبلی تون به ویندوز ویستا اشاره می کردید تا مجبور نشید به خاطر نقص گفتاری خودتون به افراد توهین کنید در هر صورت از اینکه لطف فرمودید و اطلاعاتی در اختیار بنده گذاشتید ممنون در ضمن ویندوز بنده xp هست

سلام.
در مورد Connection String ای که نوشتید:


از چه Provider ای استفاده می کنید؟ SqlClient، OLEDB یا ؟
اگر جای localhost، . بزنید چی؟ بازهم کار نمیکنه؟
آیا این احتمال وجود داره که هنگام نصب SQL Server، اونو بصورت Named Instance نصب کرده باشید و نه Default Instance؟
آیا در Command Prompt، از صحت آدرس loopback اطمینان پیدا کردید؟ آیا این دستور، به شما آدرس 127.0.0.1 رو بر میگردونه؟ tracert localhost
آیا این امکان وجود داره که Firewall ای پورت یا اسم مزبور رو Block کرده باشه؟

javad0062
دوشنبه 28 اردیبهشت 1388, 18:29 عصر
با تشکر از شما دوست عزیز
من از SqlClient استفاده می کنم.
هنگام نصب SQL Server، به صورت Default نصب شده!!
در Command Prompt، از صحت آدرس loopback اطمینان پیدا کردید؟ بله
من گمون می کردم خیلی ها با این مشکل رو به رو شدن

mehdi.mousavi
دوشنبه 28 اردیبهشت 1388, 18:59 عصر
با تشکر از شما دوست عزیز
من از SqlClient استفاده می کنم.
هنگام نصب SQL Server، به صورت Default نصب شده!!
در Command Prompt، از صحت آدرس loopback اطمینان پیدا کردید؟ بله
من گمون می کردم خیلی ها با این مشکل رو به رو شدن

سلام.
من معمولا خودم از . یا (local) استفاده می کنم، برای همین هرگز با این مساله مواجه نشدم. البته، localhost رو روی پروژه فعلی هم آزمایش کردم، و بدرستی جواب داد، اما SQL Server من بصورت Named Instance نصب شده. بعدا این مساله رو روی SQL Server ای که بصورت Default Instance نصب شده باشه هم تست خواهم کرد، تا ببینم به مشکلی بر میخوره، یا خیر. در هر صورت، اگر پاسخ رو پیدا کردید، لطفا ما رو هم در جریان بذارید.

موفق باشید.