تحية طيبة ،
أحد المشاريع التي استوجب ان اشتغل على https ، بطبيعة الحال في فترة الديفيلومنت ، كنت احتاج سيرتفيكت للتجربة ، وعشان اقدر اقوم بهالعمل ، بحثت في الانترنت عن أداة تساعدني في إنشاء سيرتفيكت ، وكانت مايكروسوفت كالعادة الحل ..!
Certificate Creation Tool (Makecert.exe)
makecert -sk XYZ -n “CN=XYZ Company” testXYZ.cer
مثال بسيط ، سيقوم الأمر بإنشاء سيرتفيكيت باسم textXYZ.cer وسيكون الـ CN = XYZ Company
بعد الانشاء قم بتشغيل السيرتفيكيت وسيضيف السيرتفيكيت في الجهاز في certificate store هنا نحتاج شئ اضافي وبسيط وهو القيام بعمل assign للسيرتفيكيت على ال Default web site في الـ IIS
بطبيعة الحال لا بد يكون هناك رابط للـ MSDN يبين جميع الخيارات التي ممكن تضيفها على Certificate حتى لو كانت مثلا تاريخ انتهاء certificate مثلا ..! ( اضغط هنا ) ..
شكرا .!
تختلف نوعية البرامج التي نقوم ببرمجتها بمختلف أفكاره وأهدافها ، برامج مرتبطة بالصوت ، بالصورة ، بالرسم ، بالتحليل وانواع وأنواع ومن ضمن تلك البرامج ، البرامج المرتبطة بقواعد البيانات ولأن نوعية البرمجة على قواعد البيانات على رغم بساطتها إلا أنها تدخل في تفاصيل مهمة جدا ، تصبح بصورة أو أخرى مهمة جدا ، خصوصا مع نوعية البرامج .
عادة مايكروسوفت تدعم المشاريع المقدمة من خبراء البرمجة ولعل codeplex.com أكبر دليل على ذلك ..
عموما من ضمن المشاريع المقدمة من هؤلاء الخبراء ، توزيعة Enterprise library وهو توزيعة تجمع أكثر من مكونة منها cache , security , database وخلافه ، المهم بالنسبة لي هنا هو Database Component .
الهدف الحقيقي والفعلي في تقديم Database Component هو عمل مكتبة برمجية من الممكن تحتوي الجميع بأفضل حل وأفضل طريقة أيضا .. وهذا فعلا ما حققته DC ..
الفكرة ، نحن نستخدم sql server ماذا لو استخدمنا غدا Oracle ، MYSQL ؟ الواجهة الفعلية التي تكتب فيها أكوادك نفسها لن تتغير .. كل ما تحتاجه تغيير في الـ Base ليتعامل مع مختلف أنواع الداتابيس ..
public UserInfo GetUserInfo(string username)
{
try
{
//DataBase Name On Configration File
Database db = DatabaseFactory.CreateDatabase("DefaultDB");
UserInfo user = null;
// usp_GetUserByUsername is SP Name
using (DbCommand dbSPCommand = db.GetStoredProcCommand("usp_GetUserByUsername"))
{
// add in parameter value
db.AddInParameter(dbSPCommand, "p_username", DbType.String, username);
// Execute
IDataReader dr = db.ExecuteReader(dbSPCommand);
// start reading , because we know the result will be one record. we use if.
// otherwise use while(dr.Read())
if (dr.Read())
{
user = new UserInfo();
user.Name = (string)dr["USERNAME"];
user.DateOfBirth = (DateTime)dr["DATE_OF_BIRTH"];
}
return user;
}
}
catch (Exception ex)
{
// add the error details on the event viewer
DALException.Publish(ex);
// translate the exception base on type of error.
// here we have to check the type of error to make it more generic for sql server , oracle or mysql
throw DALException.Translate(ex);
}
}