معرفی Enterprise Library مایکروسافت در ASP.NET

دوشنبه 19 مرداد 1394

در این مقاله قصد داریم به نحوه استفاده از Enterprise Library که توسط مایکروسافت برای توسعه نرم افزار ارائه شده و بسیار مفید هستند، بپردازیم.

مقدمه

مایکروسافت تعدادی کتابخانه برای توسعه دهندگان برای پیشبرد اهدافشان فراهم کرده است

الگوها وشیوه های گروه موظف به توسعه بلوک های نرم افزار که کتابخانه های  open-source برای استفاده در کارهای معمولی هستند. بلوک های نرم افزار برای کاهش هزینه های توسعه نرم افزار طراحی شده اند که انعطاف پذیری برای توسعه نرم افزار را فراهم می کنند. استفاده از بلوک های نرم افزار ، زمان پیشرفت پروژه را کاهش می دهد که در غیر این صورت باید این functionality(قابلیت ها) نوشته شود.

بلوک های نرم افزار به خوبی  تست شده اند زیرا هزاران نفر از توسعه دهندگان برای توسعه پروژه خود از این کتابخانه ها استفاده می کنند.

کتابخانه Enterprise برای توسعه دهندگان enterprise-level بسیار مفید است. این کتابخانه ها برای توسعه نرم افزار، امنیت، قابلیت اطمینان و عملکرد بهتری را  فراهم می کنند. 

معرفی

 Enterprise Library مایکروسافت مجموعه ای از بلوک های نرم افزار است که برای نگرانی های متداول توسعه دهندگان مانند log زدن، اعتبارسنجی، دسترسی به داده ها و کنترل exception قابل استفاده است.

دو بلوک نرم افزار شناخته شده به نام های (Data Access Application Block (DAAB 

و (Exception Management Application Block (EMAB وجود دارد.

DAAB کلاس هایی برای دسترسی به دیتا از سرور پایگاه داده SQL فراهم می کند. با استفاده از این کلاس ها تعداد کدهای کمتری در برنامه استفاده می شود .

 EMAB کلاس هایی برای کنترل exception فراهم می کند.مایکروسافت کتابخانه Enterprise  را که شامل بلوک های نرم افزارهای مختلف می باشند به منظور بهبود  کارهای معمول در 2005 عرضه کرده است.

.

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

- (Enterprise Library 1.0 (January 2005

- (Enterprise Library 2.0 (January 2006

- (Enterprise Library 3.0 (April 2007

- (Enterprise Library 4.0 (May 2008

- (Enterprise Library 5.0 (April 2010

- (Enterprise Library 6.0 (April 2013

در یک نمونه برنامه کاربردی، استفاده از Enterprise Library مایکروسافت را شرح می دهیم. همچنین با استفاده از این کتابخانه ها نحوه ی واکشی و درج اطلاعات را یاد خواهیم گرفت. 

مراحل زیر را انجام می دهیم.

1.ایجاد برنامه

2.ایجاد کتابخانه ی App

3.اضافه کردن کتابخانه ی Enterprise

4. کارکردن با برنامه

ایجاد برنامه

در این بخش برای ایجاد یک برنامه web application مراحل زیر را انجام می دهیم.

گام اول:

نرم افزار ویژوال استودیو را باز می کنیم گزینه New Project را انتخاب کرده و سپس گزینه Web Application را انتخاب می کنیم و در کادر Name نام آن را CollegeTracker می گذاریم.

مطابق شکل زیر:

گام دوم:

در این مرحله گزینه ی Empty را انتخاب می کنیم تا یک پروژه Empty برنامه وب ایجاد کنیم.

گام سوم:

در پروژه بر روی solution راست کلیک می کنیم و یک پوشه ای به نام Web ایجاد می کنیم.


گام چهارم:

پروژه CollegeTracker را به پوشه Web انتقال می دهیم.

 اکنون شما یک پروژه وب ایجاد کرده اید در ادامه روی این پروژه کار می کنیم.

در بخش بعدی نحوه ی ایجاد یک  App Library را شرح می دهیم.

ایجاد کتابخانه App

در این بخش، class library ایجاد می کنیم و یک Refrence از کتابخانه Enterprise برای اجرای عملیاتی روی پایگاه داده اضافه می کنیم .

گام اول:

برروی گزینه ی solution راست کلیک می کنیم و یک ‍‍‍‍‍‍‍‍‍‍پوشه با نام Library ایجاد می کنیم.

گام دوم:

روی پوشه ‍Library راست کلیک می کنیم و یک class library به نام  CollegeTrackerLibrary

ایجاد می کنیم.

 

 

نکته: کلاس پیش فرض تولید شده را حذف می کنیم.

اضافه کردن کتابخانه ی Enterprise

گام اول:

برروی Reference راست کلیک می کنیم وگزینه Manage Nuget Packages را انتخاب می کنیم و سپس Enterprise Library را جستجو می کنیم و آن را روی پروژه نصب می کنیم.

گام دوم:

حال دو پوشه به نام های DAL و Model به کتابخانه پروژه اضافه می کنیم.

گام سوم:

  برروی پوشه ی Model راست کلیک کرده و یک کلاس جدید به نام CollegeDetails ایجاد می کنیم.

گام چهارم :

کد زیر را در آن می نویسیم.

namespace CollegeTrackerLibrary.MODEL  
{  
    public class CollegeDetails  
    {  
        public Int16 CollegeID { get; set; }  
        public string CollegeName { get; set; }  
        public string CollegeAddress { get; set; }  
        public Int64 CollegePhone { get; set; }  
        public string CollegeEmailID { get; set; }  
        public string ContactPerson { get; set; }  
        public string State_Name { get; set; }  
        public string City_Name { get; set; }  
    }  
}  

گام پنجم:

بر روی پوشه ی DAL راست کلیک می کنیم ویک کلاس به نام CollegeDAL ایجاد می کنیم و کد زیر را داخل آن می نویسیم.

using CollegeTrackerLibrary.MODEL;  
using Microsoft.Practices.EnterpriseLibrary.Data;  
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;  
using System;  
using System.Configuration;  
using System.Data;  
using System.Data.Common;  
  
namespace CollegeTrackerLibrary.DAL  
{  
    public class CollegeDAL  
    {  
        #region Variable  
        /// <summary>  
        /// Specify the Database variable  
        /// </summary>  
        Database objDB;  
        /// <summary>  
        /// Specify the static variable  
        /// </summary>  
        static string ConnectionString;  
        #endregion  
 
        #region Constructor  
        /// <summary>  
        /// This constructor is used to get the connectionstring from the config file  
        /// </summary>  
        public CollegeDAL()  
        {  
            ConnectionString = ConfigurationManager.ConnectionStrings["CollegeTrackerConnectionString"].ToString();  
        }  
        #endregion  
 
        #region College  
        /// <summary>  
        /// This method is used to get the college data  
        /// </summary>  
        /// <returns></returns>  
        public DataSet GetCollegeDetails()  
        {  
            objDB = new SqlDatabase(ConnectionString);  
            using (DbCommand objcmd = objDB.GetStoredProcCommand("CT_CollegeDetails_Select"))  
            {  
                try  
                {  
                    return objDB.ExecuteDataSet(objcmd);  
                }  
                catch (Exception ex)  
                {  
                    throw ex;  
                    return null;  
                }  
            }             
        }  
  
        /// <summary>  
        /// This method is used to insert the college data into the database  
        /// </summary>  
        /// <param name="collegeDetails"></param>  
        /// <returns></returns>  
        public bool InsertCollegeDetails(CollegeDetails collegeDetails)  
        {  
            bool result = false;  
            objDB = new SqlDatabase(ConnectionString);  
            using (DbCommand objCMD = objDB.GetStoredProcCommand("CT_CollegeDetails_INSERT"))  
            {  
                objDB.AddInParameter(objCMD, "@CollegeID", DbType.Int16, 0);  
                objDB.AddInParameter(objCMD, "@CollegeName", DbType.String, collegeDetails.CollegeName);  
                objDB.AddInParameter(objCMD, "@CollegeAddress", DbType.String, collegeDetails.CollegeAddress);  
                objDB.AddInParameter(objCMD, "@CollegePhone", DbType.Int64, collegeDetails.CollegePhone);  
                objDB.AddInParameter(objCMD, "@CollegeEmailID", DbType.String, collegeDetails.CollegeEmailID);  
                objDB.AddInParameter(objCMD, "@ContactPerson", DbType.String, collegeDetails.ContactPerson);  
                objDB.AddInParameter(objCMD, "@State", DbType.String, collegeDetails.State_Name);  
                objDB.AddInParameter(objCMD, "@City", DbType.String, collegeDetails.City_Name);  
                objDB.AddOutParameter(objCMD, "@Status", DbType.Int16, 0);  
                try  
                {  
                    objDB.ExecuteNonQuery(objCMD);  
                    result = Convert.ToBoolean(objDB.GetParameterValue(objCMD,"@Status"));  
                }  
                catch (Exception)  
                {                      
                    throw;  
                }  
            }  
            return result;  
        }  
        #endregion          
    }  
}  

گام ششم:

پروژه را Build می کنیم، بنابراین فایل DLL ساخته می شود و می توانیم از آن به عنوان refrence در پروژه وب خود استفاده کنیم.

نحوه ی کارکردن با برنامه

در این بخش قصد داریم یک web form برای بازیابی داده ها از کتابخانه، اضافه کنیم. می توانیم از هر الگوی پروژه برای نمایش و انجام عملیات پایگاه داده استفاده کنیم. در اینجا از الگوی empty project برای طراحی و نشان دادن داده ها استفاده می کنیم.

گام اول:

برروی web project راست کلیک می کنیم و به Add Reference می رویم.

گام دوم:

کتابخانه را از solution برنامه اضافه می کنیم.

 

گام سوم:

بر روی web project راست کلیک می کنیم و یک Web Form با نام CollegeDetailsForm به برنامه اضافه می کنیم.

گام چهارم:

حال کد زیر را می نویسیم.

<body>  
    <form id="form1" runat="server">  
        <div>  
            <a href="AddNewCollege.aspx">Add New College</a>  
        </div>  
    <div>  
        <asp:GridView ID="CollegeGridView" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" Height="215px" Width="363px">  
            <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />  
            <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />  
            <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />  
            <RowStyle BackColor="#DEDFDE" ForeColor="Black" />  
            <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />  
            <SortedAscendingCellStyle BackColor="#F1F1F1" />  
            <SortedAscendingHeaderStyle BackColor="#594B9C" />  
            <SortedDescendingCellStyle BackColor="#CAC9C9" />  
            <SortedDescendingHeaderStyle BackColor="#33276A" />  
        </asp:GridView>      
    </div>  
    </form>  
</body>  

گام پنجم:

برای دسترسی به داده ها از کتابخانه، کد زیر را در code behind می نویسیم.

using CollegeTrackerLibrary.DAL;  

using System;  

  

namespace CollegeTracker  

{  

    public partial class CollegeDetailsForm : System.Web.UI.Page  

    {  

        CollegeDAL objCollege = new CollegeDAL();  

        protected void Page_Load(object sender, EventArgs e)  

        {  

            if (!IsPostBack)  

            {  

                GetCollegeData();  

            }  

        }  

        public void GetCollegeData()  

        {  

            CollegeGridView.DataSource = objCollege.GetCollegeDetails();  

            CollegeGridView.DataBind();  

        }  

    }  

}  

 

گام ششم:

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

مطابق شکل زیر می توانید داده ها را در داخل GridView مشاهده کنید.

.


گام هفتم:

یک وب فرم با نام AddNewCollege ایجاد کنید و کد زیر را در آن بنویسید.

<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>   
    <link href="Content/Site.css" rel="stylesheet" />  
    <script src="Scripts/jquery-2.1.3.js"></script>  
    <script type="text/javascript">  
        $(document).ready(function(){  
            $('#BtnSubmit').click(function () {  
                var collegeDetails = {};  
                collegeDetails.CollegeName = $('#TxtCollegeName').val();  
                collegeDetails.CollegeAddress = $('#TxtCollegeAddress').val();  
                collegeDetails.CollegePhone = $('#TxtCollegePhone').val();  
                collegeDetails.CollegeEmailID = $('#TxtCollegeEmailID').val();  
                collegeDetails.ContactPerson = $('#TxtContactPerson').val();  
                collegeDetails.State_Name = $('#TxtCollegeState').val();  
                collegeDetails.City_Name = $('#TxtCollegeCity').val();  
                 
                $.ajax({  
                    type: 'POST',  
                    url: 'AddNewCollege.aspx/CreateCollegeData',  
                    data: "{collegeDetails:" + JSON.stringify(collegeDetails) + "}",  
                    dataType: 'json',  
                    contentType: 'application/json; charset=utf-8',  
                    success: function (response) {  
                        $('#lblResult').html('Inserted Successfully');  
                        $('#TxtCollegeName').val('');  
                        $('#TxtCollegeAddress').val('');  
                        $('#TxtCollegePhone').val('');  
                        $('#TxtCollegeEmailID').val('');  
                        $('#TxtContactPerson').val('');  
                        $('#TxtCollegeState').val('');  
                        $('#TxtCollegeCity').val('');  
                    },  
                    error: function () {  
                        alert("An error occurred.");  
                    }  
                });  
            });  
        });  
    </script>  
</head>  
  
<body>  
    <form id="form1" runat="server">  
        <div id="AddNewCollegeDiv">  
            <ul id="AddNewCollege">  
                <li>  
                    <label id="lblCollegeName">College Name</label>  
                    <input type="text" id="TxtCollegeName" />  
                </li>  
                <li>  
                    <label id="lblCollegeAddress">College Address</label>  
                    <input type="text" id="TxtCollegeAddress" />  
                </li>  
                <li>  
                    <label id="lblCollegePhone">College Phone</label>  
                    <input type="text" id="TxtCollegePhone" />  
                </li>  
                <li>  
                    <label id="lblCollegeEmailID">College EmailID</label>  
                    <input type="text" id="TxtCollegeEmailID" />  
                </li>  
                <li>  
                    <label id="lblContactPerson">Contact Person</label>  
                    <input type="text" id="TxtContactPerson" />  
                </li>  
                <li>  
                    <label id="lblCollegeState">State</label>  
                    <input type="text" id="TxtCollegeState" />  
                </li>  
                <li>  
                    <label id="lblCollegeCity">City</label>  
                    <input type="text" id="TxtCollegeCity" />  
                </li>  
                <li>  
                    <input type="button" id="BtnSubmit" value="Submit" />  
                    <label id="lblResult" />  
                </li>  
            </ul>  
        </div>  
    </form>  
</body>  
</html>  

گام هشتم:

کد زیر را در code behind بنویسید.

using CollegeTrackerLibrary.DAL;  
using CollegeTrackerLibrary.MODEL;  
using System;  
using System.Web.Services;  
  
namespace CollegeTracker  
{  
    public partial class AddNewCollege : System.Web.UI.Page  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
  
        }  
  
        [WebMethod]  
        public static string CreateCollegeData(CollegeDetails collegeDetails)  
        {  
            CollegeDAL obj = new CollegeDAL();  
            bool b = obj.InsertCollegeDetails(collegeDetails);  
            return "success";  
        }  
    }  
}  

توجه داشته باشید که فضای نام System.WebServices.WebMethod را اضافه کردیم و این متد را با استفاده از jQuery فراخوانی می کنیم.


گام نهم:

برنامه را اجرا کنید و روی لینک Add New College کلیک کنید و سپس فیلدها را پرکنید.

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید