ارتباط بین سرویس های ASP.NET و پایگاه داده از طریق ماژول Provider در IIS7.5
ASP.NET2.0 شامل چندین سرویس است که state خود را در یک پایگاه داده یا دیگر data storeها ذخیره می کند. Provider یک ماژول نرم افزاری است که یک واسط بین یکی از این سرویس ها و یک منبع داده ایجاد می کند.
ASP.NET2.0 شامل چندین سرویس است که state خود را در یک پایگاه داده یا دیگر data storeها ذخیره می کند. Provider یک ماژول نرم افزاری است که یک واسط بین یکی از این سرویس ها و یک منبع داده ایجاد می کند. در IIS7 شما امکان تنظیم Provider پیش فرض برای application خود را دارید. همچنین قادر هستید تا خصوصیات Provider را تنظیم نمایید. برای مثال “Users” یک Feature Provider-Base است به طوری که یک Provider داده های کاربر را در SQL ذخیره می کند در حالی که Provider دیگر داده های کاربر را در یک فایل متنی ذخیره می کند.
پیش از این در مقاله ای مجزا به تعریف Asp.net چیست و کاربرد های آن پرداخته ایم.
چگونه یک Provider ایجاد کنیم؟
هنگامی که شما application دارید که از یک سرویس Provider-Base جهت ذخیره داده ها در پایگاه داده یا data store استفاده می نماید نیازمند به اضافه کردن یک Provider در IIS هستید. برای مثال سرویس session state در ASP.NET یک سرویس Provider-Base است که session state مبتنی بر کاربر(per-user) را، با ذخیره کردن آن در یک process، در حافظه ای در یک external process و یا در پایگاه دادهSQL Server ، مدیریت می کند.
نکته: افزودن configuration در یک level، تنظیمات را در همان level و تمامی child levelها که تنظیمات را به ارث می برند، اضافه می شود
[irp posts=”۴۰۷۹″ name=”وب سرور iis چیست و معرفی وب سرور IIS 7.5″]
۱- IIS Manager را باز کنید.
_در صورتی که از پلان های میزبانی ۲۰۰۸ ایران هاست استفاده می کنید،جهت اتصال به IIS لطفا مقاله “نحوه اتصال به IIS هاست جهت مدیریت از راه دور” را مطالعه فرمایید.
_در صورتی که از Windows Server 2008 یا Windows Server 2008 R2 استفاده می کنید:
- روی start در taskbar کلیک کنید، به گزینه Administrative Tools اشاره کرده و روی Internet Information Services (IIS) Manager کلیک کنید.
_در صورتی که از Windows Vista یا Windows 7 استفاده می کنید:
- روی start در taskbar کلیک کرده و Control Panel را انتخاب کنید.
- بر روی Administrative Tools و سپس Internet Information Services (IIS) Manager دوبارکلیک نمایید.
۲- در پانل Connections در سمت چپ Server>Sites را باز کنید سپس سایت مورد نظر خود را انتخاب کنید.
۳- از گزینه های موجود در صفحه بر روی Providers دوبارکلیک نمایید.
۴- در صفحه جاری، از بخش Feature، یک از موارد زیر را انتخاب نمایید:
NET Roles: جهت پیکربندی provider به منظور فراهم آوردن یک واسط بین سرویس مدیریت role در ASP.NET و منابع داده role.
NET Users: جهت پیکربندی provider به منظور فراهم آوردن یک واسط بین سرویس membership در ASP.NET و منابع داده membership.
NET Profile: جهت پیکربندی provider به منظور فراهم آوردن یک واسط بین سرویس profile در ASP.NET و منابع داده profile.
۵- در پانل Actions در سمت راست صفحه، روی Add کلیک کنید.
۶- در پنجره Add Provider، در جعبه متن Type، نوع provider را از فهرست انتخاب کنید.
۷- در جعبه متن Name، نامی را برای provider خود تعیین نمایید.
۸- اگر مرحله چهارم، .NET Users را انتخاب نموده اید، در بخش Profile properties، زیرمجموعه قسمت Behavior، جهت فعالسازی هر Behavior مقدار آن را روی True تنظیم نمایید:
EnablePasswordReset:امکان resetشدن password توسط متد ResetPassword در provider را تعیین می کند.
EnablePasswordRetrieval:امکان بازیابی password توسط متد GetPassword در provider را تعیین می کند.
نکته: در برخی providerها همچون Active Directory که از بازیابی password پشتیبانی نمی کنند، مقدار enablePasswordRetrieval همیشه به صورت False است و قابل تغییر نیست.
RequiresQuestionAndAnswer:تعیین می کند آیا به password answer در زمان فراخوانی متدهای GetPassword و ResetPassword نیاز هست یا خیر؟
RequireUniqueEmail:تعیین می کند آیا هر کاربر ثبت شده نیاز به یک نشانی email منحصر به فرد دارد.
StorePasswordInSecureFormat:تعیین می کند آیا کلمه عبور می بایست hash شده باشد.
۹- در قسمت Data، connection string مورد استفاده جهت ارتباط با پایگاه داده را تعیین نمایید.
نکته: گزینه های connection strings موجود در فهرست همان مواردی هستند که در ماژول Connection Strings پیکربندی شده اند. در صورتی که در مرحله ۶، گزینه WindowsTokenRoleProvider را انتخاب کرده باشید، انتخاب connection string در این مرحله اختیاری است.
۱۰- به صورت اختیاری، در بخش Profile properties، در قسمت General، مسیر مجازی application را در جعبه متن ApplicationName وارد نمایید. اگر مقداری را در این قسمت تعیین ننمایید این مقدار به صورت پیش فرض HttpContext.Current.Request.ApplicationPath تعیین می گردد. البته این مقدار در زمان اجرا تعیین می شود.
۱۱- به صورت اختیاری، در بخش Profile Properties، در قسمت General، توصیفی را در خصوص این provider در جعبه متن Description وارد نمایید.
۱۲- بر روی OK کلیک نمایید.
چگونه یک Provider را ویرایش یا Rename و یا حذف نماییم؟
پس از اینکه به IIS Manager متصل شدید و بر روی Provider دوبارکلیک نمایید.
با انتخاب رکورد موردنظر و انتخاب گزینه های Edit ،Rename و یا Remove از بخش Actions در سمت راست صفحه، نسبت به ویرایش، Rename و یا Remove رکورد موردنظر اقدام نمایید.ا