مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

جلسه ششم آموزش ASP.NET : سمت سرور در ASP.NET


سمت سرور (Server Side) در ASP.NET

ما چرخه صفحه و انواع کنترل هایی که یک صفحه می تواند حاوی آنها باشد ، را در جلسات قبل مطالعه کرده ایم. یک صفحه می تواند به عنوان یک شیء کنترل نمونه برداری شود. تمام فرم های وب ، اساساً به عنوان نمونه ای از کلاس Page در ASP.NET محسوب می شوند. کلاس Page دارای ویژگی های فوق العاده مفیدی می باشد که با اشیاء intrinsic مرتبط هستند. این ویژگی ها عبارتند از:

  • Session
  • Application
  • Cache
  • Request
  • Response
  • Server
  • User
  • Trace

ما هر یک از این اشیاء را در زمان مناسب مورد بحث و بررسی قرار خواهیم داد. در این آموزش ، ما شیء Server ، شیء Request و شیء Response را تشریح خواهیم کرد.

شیء Server

شیء Server در ASP.NET به عنوان یک نمونه از کلاس System.Web.HttpServerUtility می باشد. کلاس HttpServerUtility  ، خصیصه ها و متدهای متعددی را برای اجرای کارهای مختلف فراهم می کند.

خصیصه ها و متدهایی از شیء Server

متدها و خصیصه های کلاس HttpServerUtility از طریق شیء Server حقیقی که توسط ASP.NET ارائه می شوند ، مورد استفاده قرار می گیرند.

در جدول زیر فهرستی از این خصیصه ها ارائه شده است:

Property

توضیحات

MachineName

نام کامپیوتر سرور

ScriptTimeOut

مقدار time-out را به صورت ثانیه دریافت کرده و تنظیم می کند.

 

 

 

 

 

 

جدول زیر فهرستی از برخی از متدهای مهم را ارائه می دهد:

Method

توضیحات

CreateObject(String)

یک نمونه از شیء COM را که توسط ProgID (Programmatic ID) آن شناسایی می شود ، ایجاد می کند.

CreateObject(Type)

یک نمونه از شیء Com را که توسط Type آن قابل شناسایی است ، ایجاد کی کند.

Equals(Object)

تعیین می کند که آیا شیء مشخص شده برابر با شیء فعلی است یا نه.

Execute(String)

هندلر را برای مسیر مجازی تعیین شده در context درخواست جاری ، اجرا می کند.

Execute(String, Boolean)

هندلر را برای مسیر مجازی تعیین شده در context درخواست جاری ، اجرا می کند و تعیین می کند که آیا QueryString و مجموعه های Form پاک شوند یا نه

GetLastError

مقدار استثناء قبلی را باز می گرداند.

GetType

مقدار Type نمونه جاری را دریافت می کند.

HtmlEncode

یک رشته عادی را به کاراکترهای HTML مجاز تغییر می دهد.

HtmlDecode

یک رشته HTML را به یک رشته عادی تبدیل می کند.

ToString

یک رشته را که شیء جاری را نشان می دهد ، باز می گرداند.

Transfer(String)

برای درخواست جاری ، اجرای صفحه جاری را اتمام می بخشد و اجرای یک صفحه جدید را با استفاده از مسیر URL تعیین شده صفحه ، شروع می کند.

UrlDecode

یک رشته URL را به یک رشته عادی تبدیل می کند.

UrlEncodeToken

همانند UrlEncode عمل می کند ، اما با یک آرایه بایتی که حاوی داده های کد شده با فرمت Base64 هستند ، کار می کند.

UrlDecodeToken

همانند UrlDecode عمل می کند ، اما با یک آرایه بایتی که حاوی داده های کد شده با فرمت Base64 هستند ، کار می کند.

MapPath

مسیر فیزیکی را که متناظر با یک فایل مجازی تعیین شده در سرور است ، باز می گرداند.

Transfer

اجرا را به یک صفحه وب دیگر در برنامه کاربردی جاری ، انتقال می دهد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

شیء Request

 شیء request یک نمونه از کلاس Transfer می باشد. این شیء ، مقادیر خصیصه های درخواست HTTP را نشان می دهد که امکان لود شدن صفحه در مرورگر را فراهم می نمایند.

اطلاعات نشان داده شده در این شیء ، در انتزاع های سطح بالایی (مدل کنترل وب) پوشش داده می شوند. با این حال ، این شء در بررسی کردن برخی از اطلاعات مانند مرورگر کلاینت و کوکی ها کمک می کند.

خصیصه ها و متدهای شیء Request

جدول زیر برخی از خصیصه های قابل توجه از شیء Request را ارائه نموده است:

Property

توضیحات

AcceptTypes

یک آرایه رشته ای از انواع مورد قبول MIME که توسط کلاینت پشتیبانی می شود را دریافت می کند.

ApplicationPath

مسیر ریشه مجازی application برنامه کاربردی ASP.NET در سرور را دریافت می کند.

Browser

اطلاعات در مورد قابلیت های requesting مرورگر کلاینت را دریافت کرده یا تنظیم می کند.

ContentEncoding

مجموعه ای کاراکتر از entity-body را دریافت کرده یا تنظیم می کند.

ContentLength

طول محتوای ارسالی از کلاینت را بر حسب بایت تعیین می کند.

ContentType

نوع MIME محتوای درخواست وارد شده را دریافت کرده یا تنظیم می کند.

Cookies

مجموعه ای از کوکی ها را که توسط کلاینت ارسال می شود ، دریافت می کند.

FilePath

مسیر مجازی از درخواست جاری را دریافت می کند.

Files

مجموعه ای از فایل های آپلود شده توسط کلاینت در فرمت MIME چند بخشی را دریافت می کند.

Form

یک مجموعه از متغیرهای form را دریافت می کند.

Headers

مجموعه ای از هدرهای HTTP را دریافت می کند.

HttpMethod

متد انتقال داده HTTP (همانند GET ، POST یا HEAD) استفاده شده توسط کلاینت را دریافت می کند.

InputStream

محتواهای entity body مربوط به HTTP وارد شده را دریافت می کند.

IsSecureConnection

مقداری را دریافت می کند که نشان می دهد آیا اتصال HTTP از سوکت های امن (که HTTPS است) استفاده می کند یا نه.

QueryString

مجموعه ای از متغیرهای رشته ای query مربوط به HTTP را دریافت می کند.

RawUrl

URL خام از درخواست جاری را دریافت می کند.

RequestType

متد انتقال داده HTTP (GET یا POST) استفاده شده توسط کلاینت را دریافت کرده یا تنظیم می کند.

ServerVariables

مجموعه ای از متغیرهای سرور Web را دریافت می کند.

TotalBytes

تعداد بایت ها در stream (جریان ) ورودی جاری را دریافت می کند.

url

اطلاعاتی در مورد URL درخواست جاری را دریافت می کند.

UrlReferrer

اطلاعاتی در مورد URL درخواست قبلی کلاینت را دریافت می کند که به URL جاری لینک شده است.

UserAgent

رشته خام user agent (عامل کاربر) مروگر کلاینت را دریافت می کند.

UserHostAddress

آدرس IP میزبان از کلاینت راه دور (remote) را دریافت می کند.

UserHostName

نام DNS کلاینت راه دور را می گیرد.

UserLanguages

آرایه رشته ای مرتب شده از تنظیمات language کلاینت را دریافت می کند.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

جدول زیر فهرستی از برخی از متدهای مهم را ارائه می دهد:

Method

توضیحات

BinaryRead

عملیات خواندن باینری از تعداد مشخصی از بایت ها از stream ورودی جاری را انجام می دهد.

Equals(Object)

تعیین می کند که آیا شیء مشخص شده برابر با شیء جاری است (ارث برده شده از شیء)

GetType

نوع شیء نمونه جاری را دریافت می کند.

MapImageCoordinates

یک پارامتر فیلد تصویری از فرم ورودی را به مقادیر مناسب از مختصات x , y نگاشت می کند.

MapPath(String)

یک مسیر مجازی تعیین شده را به مسیر فیزیکی نگاشت می کند.

SaveAs

یک درخواست HTTP را در دیسک ذخیره می کند.

ToString

یک رشته ای را که شیء جاری را نشان می دهد ، باز می گرداند.

ValidateInput

موجب اعتبارسنجی برای مجموعه های قابل دسترسی از طریق خواص کوکی ها ، فرم ها و QueryString  می شود.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

شیء Response

شیء Response پاسخ سرور به درخواست کلاینت را نشان می دهد و یک نمونه از کلاس System.Web.HttpResponse می باشد.

در ASP.NET ، شیء response نقش مهمی در ارسال کردن متن به کلاینت ایفا نمی کند ، زیرا کنترل های سمت سرور ، متدهای تودرتو و شیء گرا برای رندر کردن خود دارند.

با این حال ، شیء HttpResponse هنوز برخی از عملکردهای مهم مانند خصوصیت کوکی و متد Redirect() را فراهم می کند. متد  Response.Redirect() ، اجازه انتقال کاربر به صفحه دیگری در داخل و خارج از برنامه کاربردی را فراهم می کند. این کار نیاز به یک round trip دارد.

خصیصه ها و متدهای شیء Response

جدول زیر برخی از خصیصه های مهم از شیء Response را ارائه می دهد:

Property

توضیحات

Buffer

مقداری را دریافت کرده و تنظیم می کند که نشان می دهد آیا کار پردازش بافر کردن خروجی و ارسال آن پس از ارائه کامل پاسخ ، به اتمام رسیده است یا خیر.

BufferOutput

مقداری را دریافت کرده و تنظیم می کند که نشان می دهد آیا کار پردازش بافر کردن خروجی و ارسال آن پس از ارائه  کامل صفحه ، به اتمام رسیده است یا خیر.

Charset

مجموعه ای از کاراکترهای HTTP از stream خروجی را دریافت کرده و تنظیم می کند.

ContentEncoding

مجموعه ای از کاراکترهای HTTP از stream خروجی را دریافت کرده و تنظیم می کند.

ContentType

نوع HTTP MIME از stream خروجی را دریافت کرده و تنظیم می کند.

Cookies

مجموعه کوکی response را دریافت می کند.

Expires

تعداد دقایقی را قبل از این که یک صفحه کش شده در یک مرورگر منقضی شود را دریافت کرده یا تنظیم می کند.

ExpiresAbsolute

زمان و تاریخ قطعی را که اطلاعات کش شده از حافظه پنهان حذف می شوند را دریافت کرده یا تنظیم می کند.

HeaderEncoding

شیء کد گذاری شده را که نشان دهنده کد گذاری برای stream (جریان) خروجی هدر جاری می باشد را دریافت کرده یا تنظیم می کند.

Headers

مجموعه ای از هدرهای پاسخ را دریافت می کند.

IsClientConnected

مقداری را که نشان می دهد آیا کلاینت هنوز به سرور متصل است را دریافت می کند.

Output

خروجی متن را برای stream پاسخ خروجی HTTP فعال می کند.

OutputStream

خروجی باینری را برای بدنه محتوا خروجی HTTP فعال می کند.

RedirectLocation

مقدار هدر HTTP Location را دریافت کرده یا تنظیم می کند.

Status

وضعیت خطی را که به کلاینت برگشت داده می شود را تنظیم می کند.

StatusCode

کد وضعیت HTTP از خروجی برگشت داده شده به کلاینت را دریافت کرده یا تنظیم می کند.

StatusDescription

رشته وضعیت HTTP از خروجی برگشت داده شده به کلاینت را دریافت کرده یا تنظیم می کند.

SubStatusCode

مقداری را که کد وضعیت پاسخ را تعیین می کند ، دریافت کرده یا تنظیم می کند.

SuppressContent

مقداری را دریافت کرده یا تنظیم می کند که نشان می دهد آیا محتوای HTTP به کلاینت ارسال می شود یا خیر

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

جدول زیر فهرستی از برخی ار متدهای مهم را ارائه می دهد:

Method

توضیحات

AddHeader

هدر HTTP را به جریان خروجی اضافه می کند. AddHeader برای سازگاری با ورژن های قدیمی تر ASP ارائه شده است.

AppendCookie

زیرساخت یک کوکی HTTP را به مجموعه کوکی حقیقی اضافه می کند.

AppendHeader

هدر HTTP را به جریان خروجی اضافه می کند.

AppendToLog

اطلاعات log سفارشی را به فایل log مربوط به IIS (InterNET Information Services) اضافه می کند.

BinaryWrite

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

ClearContent

تمام محتوای خروجی را از بافر stream پاک می کند.

Close

اتصال سوکت به یک کلاینت را می بندد.

End

تمام خروجی های بافر شده را به کلاینت ارسال می کند ، اجرای صفحه را متوقف می کند ، رویداد EndRequest را ایجاد می کند.

Equals(Object)

تعیین می کند که آیا شیء مشخص شده برابر با شیء جاری هست یا نه.

Flush

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

GetType

نوع نمونه جاری را دریافت می کند.

Pics

یک هد HTTP PICS-Label به جریان خروجی ضمیمه می کند.

Redirect(String)

یک درخواست را به یک URL جدید هدایت کرده و URL جدید را تعیین می کند.

Redirect(String, Boolean)

کلاینت را به یک URL جدید هدایت کرده و URL جدید را تعیین می کند و مشخص می کند که آیا اجرای صفحه جاری خاتمه یابد یا نه.

SetCookie

یک کوکی موجود را در مجموعه کوکی به روز رسانی می کند.

ToString

یک String را که نشان دهنده شیء جاری است ، بر می گرداند.

TransmitFile(String)

فایل مشخص شده را به صور مستقیم در جریان خروجی پاسخ HTTP می نویسد ، بدون این که آن را در حافظه بافر کند.

Write(Char)

یک کاراکتر را در جریان خروجی پاسخ HTTP می نویسد.

Write(Object)

یک شیء را در جریان پاسخ HTTP می نویسد.

Write(String)

یک رشته را در جریان خروجی پاسخ HTTP می نویسد.

WriteFile(String)

محتواهای فایل تعیین شده را به طور مستقیم در یک جریان خروجی پاسخ HTTP به عنوان یک فایل block می نویسد.

WriteFile(String, Boolean)

محتواهای فایل تعیین شده را به طور مستقیم در یک جریان خروجی پاسخ HTTP به عنوان یک حافظه block می نویسد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

مثال

مثال ساده زیر ، یک Text box control دارد که کاربر می تواند نامی را در آن وارد کند ، یک کلید برای ارسال اطلاعات به سرور ، و یک label control برای نمایش دادن URL کامپیوتر کلاینت دارد.

محتوای فایل به شرح ذیل است:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
   Inherits="server_side._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>Untitled Page</title>
   </head>
   
   <body>
      <form id="form1" runat="server">
         <div>
            
            Enter your name:
            <br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" />
            <br />
            <asp:Label ID="Label1" runat="server"/>

         </div>
      </form>
   </body>
   
</html>

 

کد پشت صحنه Button1_Click به شرح ذیل است:

protected void Button1_Click(object sender, EventArgs e) {

   if (!String.IsNullOrEmpty(TextBox1.Text)) {
   
      // Access the HttpServerUtility methods through
      // the intrinsic Server object.
      Label1.Text = "Welcome, " + Server.HtmlEncode(TextBox1.Text) + ". <br/> The url is " + Server.UrlEncode(Request.Url.ToString())
   }
}

 

 

صفحه را برای دیدن خروجی حاصل شده ، اجرا می کنیم:

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید