# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > ASP.NET Web Forms >  IIS چیست؟

## A.Yousefi

سلام
من هنوز درست متوجه نشدم کاربرد iis کجاس و اصلا چیه iis?
وقتی با asp.net کار میکنیم باید iis رو نصب کنیم،من که نصب نکردم،پس سایتایی که طراحی کردم وقتی اجرا میکنم چجوری اجرا میشن،اینکه میگن مثلا با هر postback اطلاعات برای iis فرستاده میشه بعد برمیگرده سمت کلاینت منظور چیه؟
من که iis نصب نکردم پس وقتی که دارم سایتمو تو کامپیوتر خودم و تو محیط .net اجرا میکنم با بروز postback اطلاعات کجا فرستاده میشه؟
گیج شدم... میشه یکی منو راهنمایی کنه؟

----------


## ASP.NET2

> سلام
> من هنوز درست متوجه نشدم کاربرد iis کجاس و اصلا چیه iis?
> وقتی با asp.net کار میکنیم باید iis رو نصب کنیم،من که نصب نکردم،پس سایتایی که طراحی کردم وقتی اجرا میکنم چجوری اجرا میشن،اینکه میگن مثلا با هر postback اطلاعات برای iis فرستاده میشه بعد برمیگرده سمت کلاینت منظور چیه؟
> من که iis نصب نکردم پس وقتی که دارم سایتمو تو کامپیوتر خودم و تو محیط .net اجرا میکنم با بروز postback اطلاعات کجا فرستاده میشه؟
> گیج شدم... میشه یکی منو راهنمایی کنه؟


 سلام خوب چرا گیج میشی . برا اینکه IIS و اینکه وقتی عمل postback انجام میشه چه اتفاقی می افته باید اول فرق بین Application های server Side و Client side رو بدونی.
تو Application های Client side در بیشتر اوقات نیازی به تعامل با سرور نداریم.و همه اطلاعات تو همون Browser جابه جا میشن ,ولی تو Server Side ها اینطور نیست.تو سرور سایدها باید اطلاعاتی که لازمه روشون پردازش انجام بشه به سمت سرور فرساتاده بشن و در نهایت جوابی که سرور ارسال میکنه رو سمت کلاینت نمایش بدیم. خوب با این تعریف حالا ما به یک سرویس دهنده که کار پردازش اطلاعات رو انجام میده داریم.که برای برنامه های microsoft  معمولا از win Server 2003 یا 2008 استفاده میشه. حالا تو همین وینوز سرور یک سرویسی وحود داره به نام سرویس iis، Internet information Service که وظیفش *ایجاد،مدیریت ،و هاستینگ وب سایتها هستش ،*خوب حالا اگه می خوای بدونی که iis دقیقا چه کاری انجام میده بگو تا بگم.

----------


## A.Yousefi

> خوب با این تعریف حالا ما به یک سرویس دهنده که کار پردازش اطلاعات رو انجام میده داریم.که برای برنامه های microsoft  معمولا از win Server 2003 یا 2008 استفاده میشه. حالا تو همین وینوز سرور یک سرویسی وحود داره به نام سرویس iis، Internet information Service که وظیفش *ایجاد،مدیریت ،و هاستینگ وب سایتها هستش ،*خوب حالا اگه می خوای بدونی که iis دقیقا چه کاری انجام میده بگو تا بگم.


 خب قربونت جون به لبم کردی بگو جانم!
این iis رو باید نصب کنیم رو سیستم دیگه؟ خب من میگم وقتی نصب نکردم پس این سایتایی که تو محیط دات نت اجراشون میکنم چجوری پردازش میشن با کامپایلر خود دات نت کامپایل و پردازش میشن دیگه پس iis چیه این وسط؟! یهنی چی وظیفش ایجاد،مدیریت و هاستینگ وب سایته؟
اینم نفهمیدم:"برای برنامه های microsoft  معمولا از win Server 2003 یا 2008 استفاده میشه"

----------


## dorparasti

خود VS دارای یک سرور سرخود هستش که در زمان توسعه وب سایت بکار میره اما خوب خیلی ابتدایی هستش . اما IIS یک وب سرور قوی و با امکانات زیاد برای مدیریت وب سایت ها و request ها روی ویندوزه . 

ویندوز سرور هم نسخه ای از ویندوزه که در شبکه ها استفاده میشه .

این هم اطلاعات بیشتر : + وب سایت IIS  و  ویکی پدیا

----------


## A.Yousefi

> خود VS دارای یک سرور سرخود هستش که در زمان توسعه وب سایت بکار میره اما خوب خیلی ابتدایی هستش . اما IIS یک وب سرور قوی و با امکانات زیاد برای مدیریت وب سایت ها و request ها روی ویندوزه . 
> 
> ویندوز سرور هم نسخه ای از ویندوزه که در شبکه ها استفاده میشه .
> 
> این هم اطلاعات بیشتر : + وب سایت IIS  و  ویکی پدیا


ممنون از جواب؛چرا سرور سر خود VS ابتداییه؟
شما به شخصه تاحالا نیاز پیدا کردین که iis رو نصب کنید چون سروره VS ابتداییه، مگه iis چی داره؟!
میشه یه جورایی گفت iis رو نصب میکنیم تا قبل از آپلود سایت اونو چک کنیم؟
در واقع یه جور سرور آفلاینه؟

----------


## TeacherMath

برای اینکه یه سرور درست کنید تا سایت های asp.net  را میزبانی کنید باید iis  را نصب کنید .شما هم می تونید روی ویندوز تون iis را نصب کنید و اونو به یه سرور تبدیل کنید!.برای آشنایی با محیطش به قسمت برنامه های نصب شده  Control Panel\All Control Panel Items\Programs and Features  برین و  روی turn or off windows feature  برین و iss را از میان آنها پیدا کنید و آن را تیک بزنید.بعد می تونید با محیط آن آشنا بشین .البته این مسیر مر بوط به win7 است. بعد فایل های publish  شده از سایتتون را در مسیر  C:\inetpub\wwwroot \yoursiteبریزین و به محیط iss  برین و تنظیمات لازم را برای آن انجام بدین.که این تنظیمات یه عالمن که بیفت دنبالش و اونا رو یاد بگیر.

----------


## dorparasti

> ممنون از جواب؛چرا سرور سر خود VS ابتداییه؟
> شما به شخصه تاحالا نیاز پیدا کردین که iis رو نصب کنید چون سروره VS ابتداییه، مگه iis چی داره؟!
> میشه یه جورایی گفت iis رو نصب میکنیم تا قبل از آپلود سایت اونو چک کنیم؟
> در واقع یه جور سرور آفلاینه؟


اوه ، نه ... وقتی که من دارم روی یک وب اپلیکشن کار میکنم و تنها نیازم اینه که اونرو توی مرورگر ببینم و عملکرد توابع و کدها رو چک کنم خوب نیازی به iis نیست و با VS کارم راه میفته . اما وقتی می خوای سایت رو بفرستی روی اینترنت اون موقع نیازهایی وجود داره که تنها از عهده iis برمیاد . تنظیمات امنیتی و دسترسی ها ، مدیریت request های زیاد ، نمی دونم خیلی نکات دیگه که iis در اختیارمون قرار میده . و گفتنش وقت زیادی میبره . 

اون سرور VS هم فقط یه راه حلی بود برای اینکه همه مجبور نباشن برای توسعه وب اپلیکشن ها iis رو نصب کنن .

----------


## ASP.NET2

خوب با این جواب هایی که دوستان دادن فکر کنم تا حدودی متوجه شده باشی که vs چرا زمان اجرای برنامه یه وب سرویس مجازی راه اندازی میکنه و یک port به اون اختصاص میده و هز همون ip پیش فرض iis که 127.0.0.1 هستش استفاده می کنه.
و اما یکم iis رو جزئی تر بررسی کنیم:
شما در نظر بگیرید که من یک سرویس دهنده وب دارم که .("سرویس دهنده در واقع یک کامپیوتر سرور هتش که از لحاظ سخت افزاری با کامپیوترهایی که ما باهاشون کار می کنیم متفاوته") می خوام عمل سرویس دادن رو انجام بدم.
حالا من برای اینکه بتونم به چندین درخواست سرویس بدم (مثلا چند تا وب سایت رو سرور نصب کنم) باید هارد سرور رو به قسمت هایی جدا کنم که هر application رو بتونم تو قسمت های جداگانه ذخیره کنم .خوب بعد از انجام این کار حالا باید این قسمت هارو مدیریت کنم (ip بهشون اختصاص بدم   ,domain اجازه ی نوشتن و...) . اینجاست که پای iis میاد وسط . و عمل مدیریت رو با اون انجام میدم. 



> یهنی چی وظیفش ایجاد،مدیریت و هاستینگ وب سایته؟


خیلی کارای دیگه میشه با iis انجام داد که همشو نمیشه تو تاپیک گفت.
برا کار با ویندوز سرور و iis  شما میتونید از نرم افزار visualbox که می تونید چند تا سیستم عامل مثل win server و غیره رو روش نصب کنید و یه وب سرور مجازی را بندازین و دقیقا ببینید که با iis چه کارهایی رو میتونید انجام بدید.
امیدوارم مفید باشه.
موفق باشید.

----------


## A.Yousefi

> شما هم می تونید روی ویندوز تون iis را نصب کنید و اونو به یه سرور تبدیل کنید!


ایول پس سروره آفلاینه دیگه!



> اوه ، نه ... وقتی که من دارم روی یک وب اپلیکشن کار میکنم و تنها نیازم اینه که اونرو توی مرورگر ببینم و عملکرد توابع و کدها رو چک کنم خوب نیازی به iis نیست و با VS کارم راه میفته . اما وقتی می خوای سایت رو بفرستی روی اینترنت اون موقع نیازهایی وجود داره که تنها از عهده iis برمیاد . تنظیمات امنیتی و دسترسی ها ، مدیریت request های زیاد ، نمی دونم خیلی نکات دیگه که iis در اختیارمون قرار میده . و گفتنش وقت زیادی میبره . 
> 
> اون سرور VS هم فقط یه راه حلی بود برای اینکه همه مجبور نباشن برای توسعه وب اپلیکشن ها iis رو نصب کنن .


 تا اینجایی که من فهمیدم فقط مواقعی که قصد آپلود سایتمونو داریم باید iis رو نصب کنیم و تنظیمات لازم رو انجام بدیم،اما این تنظیمات کجا سیو میشن؟
مگه ما در نهایت نباید همون فایلایی که پابلیش کردیم از محیط VS یعنی همون فایل dll رو بریم آپلود کنیم مستقیم رو هاست،وقتی iis داریم قبلش باید تو روت iis بریزیم اون فایلای dll رو،بعد از اونجا ببریم رو هاست،درسته؟ یعنی رو فایلای  dllتغییرات ایجاد میشه؟

----------


## ASP.NET2

> ایول پس سروره آفلاینه دیگه!
> 
>  تا اینجایی که من فهمیدم فقط مواقعی که قصد آپلود سایتمونو داریم باید iis رو نصب کنیم و تنظیمات لازم رو انجام بدیم،اما این تنظیمات کجا سیو میشن؟
> مگه ما در نهایت نباید همون فایلایی که پابلیش کردیم از محیط VS یعنی همون فایل dll رو بریم آپلود کنیم مستقیم رو هاست،وقتی iis داریم قبلش باید تو روت iis بریزیم اون فایلای dll رو،بعد از اونجا ببریم رو هاست،درسته؟ یعنی رو فایلای  dllتغییرات ایجاد میشه؟


 نه عزیزم نیازی نیست شما iis رو نصب کنید . این سرویس روی کامپیوتری که به شما سرویس میده و شما Application نت رو به اونجا انتقال می دی نصب هستش . اونا فقط اجازه ی بعضی از تنظیمات رو به شما میدن تو iis و برا اینکه شما بتونید به iis ریموت وصل بشید . باید سرویس دهنده این اجازرو به شما بده .
پس شما نیازی به نصب iis روس سیستم خودتون ندارید.
حالا حالتی رو در نظر بگیرید که vs رو سیستم شما نصب نیست و شما می خواهید اون app رو که دارید بدونه Vs شماهده کنید. حالا شما باید iis رو رو سیستم خودتون نصب کنید . تا بتونید اون app رو ببینید.

----------


## vista2010

سلام
مدتیه با Asp.netکارمیکنم و سایتامو روی هاست آپلود میکنم...اما iis روسیستمم نصب نیست و بهش نیاز نداشتم!!!
ازپست های دوستان اینو متوجه شدم که iisیه سرور مجازی ایجاد میکنه و یکی ازکاربرداش اینه که اگر ویژوال روی سیستم نصب نباشه،بدون مشکل،صفحات رو درمرورگر ببینیم؟؟
منظورتون از تنظیمات چیست؟
واقعا قاطی کردم...میشه یکم واضحتر راهنمایی کنید؟؟ممنون

----------


## ahmad156

سلام دوستان
IIS مجموعه ای از *سرویس* های اینترنتی است که بعد از آپاچی محبوبترین وب سرور در دنیاست. که سرویس های زیر رو در سرور به شما میده

شناسایی: درخواست شناسایی اختیاری قبل از اجازه دسترسی به انواع منابعنه تنها مفاهیم استاتیک (مفاهیم فایلی که بر روی سیستم فایلی وجود  دارد) بلکه مفاهیم داینامیک را با یک یا چند ساختار نیز مانند SSI, CGI,  SCGI,FastCGI,JSP,PHP,ASP,ASP.NET اداره می‌کند.پشتیبانی از HTTPS تا به کاربران اجازه دهد اتصالات مطمئنی به سرور را بر روی پورت 443 به جای 80 برقرار کنند.فشرده سازی مطالب تا بتوان از حجم پاسخها کم کرد. (توسط کد سازی GZIP)پشتیبانی از فایلهای بزرگ تا بتواند فایلهای بزرگ‌تر از 2 گیگا بایت را سرویس دهی کند.کنترل کردن پهنای باند : تا سرعت پاسخها را محدود کند و شبکه را پر ازدحام نکند و قادر باشد تعداد بیشتری کارخواه را سرویس دهی کند.
پس بیشتر کار IIS ارائه سرویس هست و خود VS هم از  IIS Express استفاده میکنه.(http://msdn.microsoft.com/en-us/libr...singiisexpress)
اگر بخواین از IIS استفاده کنین حتما باید اون رو نصب کنین چون به صورت پیش فرض نصب نیست.
مثلا یکی از سرویس های IIS رندر کردن کلاس های موجود VS مانند GridView است
  IIS یه ViewEngin پیش فرض داره (جدیدا هم ViewEngin جدیدی به نام Razor معرفی کرده) که این کلاس ها رو به کنترل های HTML تبدیل میکنه.
برای مثال تنظیمات هم ، مثلا شما میتونین صفحه پیش فرض سایتتون رو مشخص کنین

----------


## Arian_61

> IIS
> کنترل کردن پهنای باند : تا سرعت پاسخها را محدود کند و شبکه را پر ازدحام نکند و قادر باشد تعداد بیشتری کارخواه را سرویس دهی کند.


 سلام،
توضیحات خوبی دادید احمد آقا، فقط من یک نکته رو اصلاح کنم با اجازه شما:
‫وب سرور لاگ میگیره که چقدر ویزیت شده و چقدر مصرف شده، پهنای باند رو کنترل نمی‌کنه، مدیر سرور با بررسی لاگ‌ها تصمیم نهایی رو میگیره و ....

----------

