۵۶ مطلب با موضوع «Web Development Teams :: C Sharp» ثبت شده است
انتقال اطلاعات در asp.net mvc
بسم الله الرحمن الرحیم
همانطور که اطلاع دارید در برنامه های asp.net mvc ما سه شی dynamic داریم.
این سه شی عبارت اند از
اشیا dynamic در mvc
ViewBag
ViewData
TempData
این اشیا به ما اجازه می دهند به صورت داینامیک Property های مورد نیاز خود را به آن اضافه کنیم. برای مثال
ViewData["firstName"] = "Esmaeil";
TempData["firstName"] = "Esmaeil";
ViewBag["firstName"] = "Esmaeil";
این ویژگی باعث می شود شما بتوانید اطلاعات مورد نیاز خود را در سطح برنامه به صورت موقت نگهداری کنید، این اشیا در واقع اطلاعات شما را در Session نگه داری می کنند، اما Scope و یا طول عمر هر یک از این سه شی با یکدیگر متفاوت است.
ادامه مطلب...WCF نیز open Source شد
بسم الله الرحمن الرحیم
همانطور که می دانید از ابتدای سال 2015 مایکروسافت بسیاری از محصولات خود را همچون NET Framework. متن باز (Open Source) نمود.
این امر شاید به نظر برسد باعث زیان این شرکت شود، اما در واقع این فعالیت باعث می شود محصولات این شرکت با سرعتی بیش از پیش رشد کنند.
Build 2015
در سال 2015 مایکروسافت محصولات زیادی را معرفی خواهد کرد که برخی از آنها را در کنفرانس Build 15 که انشالله این تکنولوژی ها را بر اساس کاربرد معرفی خواهیم کرد.
ادامه مطلب...ModelState و بررسی صحت اطلاعات در MVC
بسم الله الرحمن الرحیم
ModelState و بررسی صحت اطلاعات در MVC
اعتبارسنجی اطلاعات در asp.net mvc
ممکن است در برنامه خود نیاز داشته باشید اطلاعات کاربر را در Controller بررسی کنید و پیام مناسبی به کاربر خود نمایش دهید.
یکی از روش هایی که می توانید به وسیله آن صحبت اطلاعات ارسالی را در سمت Server بررسی نمایید و پیام مناسب به کاربر نمایش دهید استفاده از همان ModelState است.
طبیعتا همه شما با دستور زیر آشنا هستید:
if (ModelState.IsValid)
{
/**do something*/
}
این دستوری است که در تمامی Action های [HttpPost] نوشته می شود تا اطلاعات ارسالی کاربر بررسی گردد و در صورتی که تمامی اطلاعات به صورت صحیح به سرور ارسال شده اند، عملیات مورد نظر انجام شود.
فکر می کنید می خواهید فایلی را از کاربر دریافت و بر روی سرور قرار دهید پس دریافت فایل مشاهده می کنید که چنین فایلی بر روی سرور وجود دارد و می خواهید به کاربر اطلاع دهید تا یا نام فایل خود را تغییر دهد و یا گزینه Replace را انتخاب کنید.
یکی از روش های پیشنهادی بررسی صحت اطلاعات در سمت سرور استفاده از دستور زیر است
ModelState.AddModelError("", "Error in persisting Data");
با استفاده از این دستور شما می توانید ابتدا تمامی موارد مورد نیاز خود را در Action مربوطه بررسی کنید. این دستور با اضافه کرن خطا به ModelState باعث می شود تا فرایند شما انجام نشود مثال:
if(fileName.Name == "test.jpg")
ModelState.AddModelError("file1", "The file is already exists! ");
if (ModelState.IsValid)
{
/**do something*/
}
در دستور بالا اگر نام فایل انتخاب شده کاربر test.jpg باشد خطایی به ModelState اضافه می شود در نتیجه ModelState.IsValid برابر false خواهد شد و عملیات اجرا نمی شود.
این روش کد نویسی باعث می شود تا از دستورات if تو در تو جلوگیری شود.
ادامه مطلب...تغییر سایز عکس در سی شارپ
بسم الله الرحمن الرحیم
تغییر سایز عکس در سی شارپ
در بسیاری از پروژه ها ممکن است شما نیاز داشته باشید تصویر ارسالی از سوی کاربر را تغییر اندازه دهید و با یک سایز جدید و حجم کاهش یافته بر روی سرور ذخیره نمایید. کلاسی را برای این منظور در اینجا قرار داده ایم که به سادگی می توانید از آن استفاده کنید.
متد اصلی ما به صورت زیر خواهد بود
public void SaveImage(HttpPostedFileBase thumbnailImageUpload,int width, int height )
{
var path = Server.MapPath("~/Images/Venue/thumbnailUpload");
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap(thumbnailImageUpload.InputStream);
Image myThumbnail = myBitmap.GetThumbnailImage(
width, height, myCallback, IntPtr.Zero);
var fileName = thumbnailImageUpload.FileName;
myThumbnail.Save(path + "/" + fileName);
}
thumbnailImageUpload نام کنترل FileUpload می باشد که توسط آن فایل ما به این متد معرفی شده است.
توسط دستور Server.MapPath مسیری را که باید تصویر ما در آن ذخیره شود مشخص می کنیم.
ادامه مطلب...آموزش تبدیل یک دیتابیس به Model - Code first
بسم الله الرحمن الرحیم
آموزش Entity Framework Power Tools
تبدیل پایگاه داده به Model در Entity Framework
هنوز افراد زیادی وجود دارند که تمایل دارند پایگاه داده خود را با استفاده از SQL Server ایجاد کنند و سپس از روی پایگاه داده Model های خود را طراحی کنند (Code first) . راه های زیادی برای تبدیل یک پایگاه داده به کلاس های Model وجود دارد در همین وب سایت برخی از این روش ها را بررسی کرده ایم اما امروز می خواهیم یک ابزار بسیار کارامد و سریع را برای اینکار به شما معرفی کنیم.
من یک پایگاه داده را در SQL Server ایجاد کرده ام و سپس یک پروژه پیش فرض MVC را ایجاد کرده ام. حال نوبت به طراحی و بازنویسی Model ها می رسد.
آموزش Entity Framework (بخش سوم Tracking)
بسم الله الرحمن الرحیم
آموزش Entity Framework
بهینه سازی Entity Framework
قبل از مطالعه این دوره آموزشی بهتر است دوره های زیر را نیز مطالعه کنید.
آموزش Code first
آموزش migration و Entity Framework در Code First
بخش سوم
در بخش قبل با مفاهیم Local و Load آشنا شدیم، همچنین قابلیت Entity states را به صورت مختصر معرفی کردیم. در این بخش قصد داریم با ویژگی Entity states بیشتر آشنا شویم.
Entity states در Entity Framework
در مقاله قبل گفتیم که Entity states می تواند یکی از 5 حالت زیر را داشته باشد.
• Added
• Unchanged
• Modified
• Deleted
• Detached
Added
این وضعیت بدین معنا است که Entity شما به Context اضافه شده است اما به پایگاه داده هنوز اضافه نشده است.
Unchanged
این وضعیت بدین معنا است که Entity شما در Context با Record متناظر در پایگاه داده یکسان است و به نوعی در این اطلاعات تغییری ایجاد نشده است.
Modified
این وضعیت بدین معنا است که یکی و یا تمامی Property های Entity مورد نظر در Context تغییر داده شده است اما در پایگاه داده ثبت نشده است. این وضعیت برای Entity هایی است که در پایگاه داده قبلا اضافه شده اند.
Deleted
این وضعیت بدین معنا است که Entity مورد نظر از Context حذف شده است اما Record متناظر این Entity همچنان در پایگاه داده موجود است
Detached
این وضعیت بدین معنا است که Entity مورد نظر شما توسط Context بررسی و یا track نمی شود
همانطور که در مقاله قبل بررسی کردیم برای ثبت تغییرات انجام شده در Context بر روی سرور می بایست از دستور SaveChanges استفاده کنیم، این دستور باعث تغییر وضعیت Entity ها به صورت زیر می شود:
آموزش Entity Framework (بخش دوم)
بسم الله الرحمن الرحیم
آموزش Entity Framework
بهینه سازی Entity Framework
قبل از مطالعه این دوره آموزشی بهتر است دوره های زیر را نیز مطالعه کنید.
آموزش Code first
آموزش migration و Entity Framework در Code First
بخش دوم
Entity Framework & ChangeTracker
در بخش قبل با مفاهیم ابتدایی آشنا شدیم در این بخش قصد داریم مثال قبل را کامل نماییم و همچنین با خاصیت جدیدی با نام ChangeTracker آشنا شویم.
با استفاده از خاصیت ChangeTracker شما می توانید اطلاعات کاملی در خصوص Entity ها و عملیات های آنها و همچنین وضعیت ثبت شده برای آنها را بدست آورید.
برای تکمیل پروژه خود Model های زیر را به پروژه خود اضافه می کنیم.
public class Author : IPerson
{
public int AuthorId { get; set; }
public string Name { get; set; }
public string Biography { get; set; }
}
public class Reader : IPerson
{
public int ReaderId { get; set; }
public string Name { get; set; }
public string Username { get; set; }
}
public interface IPerson
{
string Name { get; }
}
حال دستورات زیر را به Controller اضافه می کنیم
ادامه مطلب...آموزش Entity Framework
بسم الله الرحمن الرحیم
آموزش Entity Framework
بهینه سازی Entity Framework
قبل از مطالعه این دوره آموزشی بهتر است دوره های زیر را نیز مطالعه کنید.
آموزش Code first
آموزش migration و Entity Framework در Code First
بخش اول
در ادامه سری مقالات مربوط به بهینه سازی SQL و بهینه سازی کوئری در این دوره قصد داریم در خصوص افزایش کارایی در Entity Framework صحبت کنیم. برای مطالعه مقالات بهینه سازی می توانید از طریق لینک های زیر اقدام فرمایید.
بهینه سازی کوئری
بهینه سازی SQL
در تمامی برنامه ها اکثر برنامه نویسان برای واکشی و بروزرسانی اطلاعات درون پایگاه داده خود از دستوراتی استفاده می کنند که مستقیما بر روی پایگاه داده اجرا می شود (مانند FirstOrDefault و یا ToList()) این روش، روش اشتباهی نیست اما طبیعتا هزینه ای برای ارسال اطلاعات به سمت سرور و دریافت نتیجه اجرای این دستور به برنامه شما تحمیل خواهد شد.
یکی از روش هایی که می توانید این مشکل را بر طرف نمایید استفاده از دستور Local می باشد. این دستور به جای فعالیت بر روی پایگاه داده بر روی Context شما کار خواهد کرد و هیچگاه دستوری را برای SQL Server ارسال نخواهد کرد و همین امر باعث افزایش سرعت اجرای دستورات شما خواهد شد.
برای آموزش نحوه کار کردن با این دستور، یک مثال را انجام خواهیم داد.
یک پروژه MVC ایجاد کنید و Model ایی با نام Ably به آن اضافه کنید. این مدل می بایست به صورت زیر باشد:
public class Ably
{
public int Id { get; set; }
public string PostName { get; set; }
}
سپس Controller خود را ایجاد می کنیم و در آن کد زیر را برای load اطلاعات می نویسیم.
ادامه مطلب...آموزش Team Foundation Server (بخش سوم)
بسم الله الرحمن الرحیم
آموزش Team Foundation
(بخش دوم) نصب و راه اندازی TFS
(بخش سوم) ایجاد یک پروژه بر روی TFS
در بخش های قبل در مورد Online Repository ها صحبت کردیم و نحوه ایجاد یک Team Foundation را بر روی TFS Cloud Repository را بررسی کردیم.
در این بخش قصد داریم تا یک پروژه را بر روی Team Foundation قرار دهیم، اما قبل از شروع بهتر است چند نکته را بررسی کنیم.
ابزارهایی که کد برنامه شما را نگه داری می کنند معمولا امکانات زیادی را ارائه می دهند که این امکانات باعث می شود شما یک ابزار انتخاب کنید. در این جا برخی از ویژگی های مشترک ابزارهای مختلف source control مانند Team Foundation که در حال آموزش آن هستیم را بررسی می کنیم.
توضیح ام را باید یک مثال بیان می کنم. فکر کنید قرار است شما یک برنامه را برای فردی بنویسید، مثلا وب سایت ساده که تعدادی افراد را ثبت نام می کند و به شما یک گزارش ساده می دهد. شما با مشتری خود توافق می کنید و کار را آغاز می کنید. در ابتدا یک Template برای مشتری طراحی می کنید و طبیعتا مشتری پس از مشاهده Template طراحی شده از شما می خواهد بخش هایی از آن را تغییر دهید.
این تغییرات به صورت مورد به مورد با مشتری بررسی و اعمال می شود تا در نهایت بخش طراحی Template به پایان می رسد.
تصور کنید نیاز پیدا می کنید تا کدها و اطلاعاتی را که در طراحی Template انجام داده اید مجددا استفاده کنید. مثلا صفحه لاگین شما ویژگی هایی داشته که بعد از تعامل با مشتری تغییر داده شده اما اکنون مجددا به هر دلیلی ( تغییر نظر مشتری، نیاز پروژه، استفاده برای پروژه دیگر و...) نیاز به کدهای قبلی خود دارید.
اگر خیلی با تجربه باشید هر چند ساعت یک بار مثل تصویر زیر از فایل های خود یک backup به صورت فایل ZIP ایجاد می کنید (روش زمان دایناسورها)!
ادامه مطلب...آموزش Team Fundation Server (بخش دوم)
بسم الله الرحمن الرحیم
آموزش Team Foundation
(بخش دوم) نصب و راه اندازی TFS
در این بخش قصد داریم یک حساب کاربری در Team Foundation Server ایجاد کنیم و اولین Repository و پروژه خود را در آن ایجاد کنیم.
مانند تمامی Online Repository های موجود مانند github در TFSنیز شما می توانید Repository خود را ایجاد کنید. در حال حاضر شما می توانید در TFS پروژه خود را ایجاد کنید و تیم خود را مدیریت نمایید. همچنین شما می توانید کد خود را به صورت مستقیم از داخل Visual Studio و یا Eclipse بر روی سرور TFS ارسال کنید. به ارسال اطلاعات بر روی سرور ها و Repository ها check-In می گویند. TFS به صورت Cloud کار می کند در نتیجه شما می توانید از طریق مرورگر خود اطلاعات مربوط به پروژه، باگ ها و... را مشاهده کنید.
TFS به شما اجازه می دهد تا پروژه خود را بر اساس platform های متفاوتی از C# تا Python و همچنین از Windows تا Android ایجاد کنید.
در حال حاضر TFS به شما اجازه می دهد تا یک تیم 5 نفره را به صورت رایگان ایجاد کنید.
ادامه مطلب...
آموزش Team Fundation Server
بسم الله الرحمن الرحیم
آموزش Team Foundation
بخش اول معرفی TFS
یکی از مواردی که باید به عنوان یک اصل در شرکت های نرم افزاری مورد نظر واقع شود، نحوه نگهداری کدها و اطلاعات پروژه ها است.
در سال های نه چندان دور شرکت ها برای نگه داری اطلاعات و بایگانی آنها از روش ساخت فایل های ZIP با تاریخ و زمان استفاده می کردند. طبیعتا در این روش انجام پروژه های تیمی و دست یابی به کد های گذشته و یا لغو یک تغییر کار بسیار مشکلی است.
همین مشکلات باعث شد تا روش های جدیدی برای نگه داری اطلاعات یک پروژه مطرح شود. این روش ها کم کم تکامل پیدا کردند و به عنوان نرم افزارهای مدیریت کد، که به نام های زیر معروف هستند، معرفی شدند:
source control
sourceforge
source code control
source code version control
source code version
و..
این نرم افزار ها به شما این امکان را می دهند که کدهای خود را در یک محل به نام Repository یا منبع نگه داری کنید. این امکان باعث می شود تا همه ی افراد از یک محل برای نگه داری کدها و اعمال تغییرات استفاده کنند، در نتیجه وقتی به صورت تیمی کار می کنید نیازی نیست نگران قراردادن کدهای همه ی افراد در یک پروژه باشید.
طبیعتا وقتی تمامی افراد بر روی یک پروژه کار می کنند باید Log و یا همان سوابق تغییرات صورت گرفته بر روی کدها را به همراه فرد تغییر دهنده ثبت کرد. این کار باعث می شود تا در صورت بروز خطا، مدیر پروژه بتواند سوابق تغییرات را بررسی و پروژه را به آخرین نسخه ی بدون مشکل Restore کند.
source control های زیادی در حال حاضر وجود دارند که هر یک مزایا و معایب خود را دارند که نام برخی را در زیر مشخص کرده ایم.
github
SVN
TFS
ادامه مطلب...ایجاد کلمه عبور در سی شارپ
بسم الله الرحمن الرحیم
ساخت کلمه عبور در سی شارپ
در پروژه ها ممکن است نیاز داشته باشیم یک Password به صورت Random برای کاربران ایجاد کنیم. کلاسی را برای شما قرار داده ایم که به سادگی می تواند این نیاز شما را بر آورده کند.
public class RandomPasswordادامه مطلب...
{
// Define default min and max password lengths.
private static int DEFAULT_MIN_PASSWORD_LENGTH = 8;
private static int DEFAULT_MAX_PASSWORD_LENGTH = 10;
// Define supported password characters divided into groups.
// You can add (or remove) characters to (from) these groups.
private static string PASSWORD_CHARS_LCASE = "abcdefgijkmnopqrstwxyz";
private static string PASSWORD_CHARS_UCASE = "ABCDEFGHJKLMNPQRSTWXYZ";
private static string PASSWORD_CHARS_NUMERIC= "23456789";
private static string PASSWORD_CHARS_SPECIAL= "*$-+?_&=!%{}/";
/// <summary>
/// Generates a random password.
/// </summary>
/// <returns>
/// Randomly generated password.
/// </returns>
/// <remarks>
/// The length of the generated password will be determined at
/// random. It will be no shorter than the minimum default and
/// no longer than maximum default.
/// </remarks>
public static string Generate()
{
return Generate(DEFAULT_MIN_PASSWORD_LENGTH,
DEFAULT_MAX_PASSWORD_LENGTH);
}
تبدیل enum به string و برعکس
بسم الله الرحمن الرحیم
تبدیل enum به string و برعکس
تبدیل enum به string
در برخی مواقع شما نیاز دارید تا یک String را به Enum تبدیل کنید. برای انجام این کار می بایست از متد Enum.ToString استفاده کنید.
مثال زیر را در نظر بگیرید
public enum Car
{
Benz,
BMW,
Peykan,
Pride,
}
//just kidding :)
Car myCar = Car.BMW;ادامه مطلب...
string stringMyCar = myCar.ToString(); // result "BMW"
String.Format & DateTime.ToString
بسم الله الرحمن الرحیم
آموزش String.Format & DateTime.ToString
String.Format & DateTime
در بسیاری از موارد شما می خواهید یک DateTime را به صورت های مختلف در برنامه خود نمایش دهید. بهترین روش انجام کار استفاده از String.Format می باشد.
در این آموزش قصد داریم فرمت ها و روش های مختلف نمایش تاریخ و زمان را در مثال های متفاوت نمایش دهیم تا از این پس در هر زمانی که نیاز به نمایش تاریخ و زمان در قالب خاصی داشتید بتوانید به سادگی با استفاده از این مثال ها کار خود را انجام دهید.
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
String.Format("{0:m mm}", dt); // "5 05" minute
String.Format("{0:s ss}", dt); // "7 07" second
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
شما می توانید بین تاریخ و زمان از جدا کننده هایی مانند "/" و ":" استفاده نمایید.
ادامه مطلب...
آموزش async و await
بسم الله الرحمن الرحیم
آموزش برنامه نویسی غیر همزمان - async و await
C# 5.0
هنگامی در August 15, 2012 نسخه جدید سی شارپ یعنی C# 5.0 و همچنین به همراه آن .NET 4.5 وVisual Studio 2012 ارائه شد، دو ویژگی اصلی Async Programming و Caller Information به C# 5.0 اضافه شد.
Async Feature (Asynchronous Methods)
ویژگی جدید Async در C# 5.0 دو کلمه کلیدی async و await را معرفی می کند، این دو ویژگی به شما اجازه می دهد تا کدهای غیرهمزمان (asynchronous) خود را به صورت ساده و مستقیم مانند کدهای همزمان (synchronous) که در گذشته می نوشتید، بنویسید.
در نسخه های قبل از C# 5.0، برای نوشتن برنامه های asynchronous، شما نیاز داشتید که callback ها را تعریف کنید (این کار همچنین به عنوان continuations شناخته می شود)، این کار در واقع باعث می شود که پس از اجرای دستورات غیرهمزمان شما، کنترل برنامه در اختیار پردازش تعیین شده قرار گیرد.
طبیعتا این کار باعث می شود فرایند کار شما مشکل شود و exception handling در این روش بسیار پیچیده خواهد بود.
هر دو کلمه کلیدی با یکدیگر مورد استفاده قرار می گیرند. از این رو یک عملگر await بر روی یک و یا بیش از یک expression از یک متد async عمل می کند.
یک متد async یک شی Task و یا Task<TResult> را بر می گرداند که این شی نشان دهنده کار در حال انجام بر روی یک متد است. شی Task شامل اطلاعاتی در مورد فراخوان کننده متد asynchronous است که می تواند برای نمایش وضعیت Task و ID منحصر به فرد آن و یا خروجی متد مورد استفاده قرار گیرد.
مانیتور کردن SQL Server و ساخت برنامه ی Real Time
بسم الله الرحمن الرحیم
در این آموزش قصد دارم شما را با یکی دیگر از ویژگی های SQL Server آشنا کنم. متاسفانه بسیاری از افراد فکر می کنند SQL Server فقط یک ابزار برای نگهداری اطلاعات است! و از بسیاری از سرویس های SQL Server بی خبر هستند.
آموزش مانیتورینگ SQL Server و ثبت تغییرات ایجاد شده
SqlDependency
کلاس SqlDependency و Query notifications ابزارهایی هستند که به شما اجازه می دهند SQL Server را مانیتور کنید این ابزار ها در SQL Server 2005 ارائه شدند.
Query Notifications
Query Notifications به برنامه شما اجازه می دهد در صورتی که داده ای در دیتابیس تغییر داده شد، از این تغییر اطلاع پیدا کند.
هدف این کلاس ذخیره کردن اطلاعاتی جدیدی است که مداوم در دیتابیس ایجاد می شود.
اگر شما بخواهید این کار را بدون استفاده از این سرویس انجام دهید باید یک تایمر داشته باشید که در بازه های زمانی معین اطلاعات را بررسی و در صورتی که تغییری ایجاد شد این اطلاعات را برای شما ارسال کند که تعیین این تغییر خود امری دشوار خواهد بود، اگر بخواهیم ساده بگوییم شما کاری را که SQL Server قبلا انجام داده و آن را بهینه کرده است می خواهید انجام دهید!
قبلا در مباحث دیگرSQL Server Broker را توضیح داده ام، در اینجا نیز برای استفاده از این سرویس باید از Service Broker و QUEUE استفاده کنید.
بدست آوردن تمامی کلاس های یک namespace
بسم الله الرحمن الرحیم
با استفاده از کد زیر شما می توانید نام تمامی کلاس های موجود در یک namespace را بدست آورید
using System.Reflection;
private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
return assembly.GetTypes().Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)).ToArray();
}
برای استفاده باید به صورت زیر عمل کنید
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
for (int i = 0; i < typelist.Length; i++)
{
Console.WriteLine(typelist[i].Name);
}
آموزش serialize کردن اشیا
بسم الله الرحمن الرحیم
ممکن است شما بخواهید یک شی از کلاس را در یک XML فایل ذخیره کنید، برای این کار می بایست شی خود را serialize کنید.
در این آموزش نحوه serialize را بررسی خواهیم کرد.
یک پروژه جدید از نوع windows Application ایجاد کنید.
یک کلاس با نام MyClass به پروژه اضافه کنید و کد آن را به صورت زیر تغییر دهید:
public class MyClassادامه مطلب...
{
// old school property
private int _Age;
public int Age
{
get { return _Age; }
set { _Age = value; }
}
// new school property
public bool Citizen { get; set; }
// there's nothing wrong with using fields
public string Name;
}
serialize کردن به وسیله سی شارپ
بسم الله الرحمن الرحیم
در بسیاری از مواقع شما نیاز دارید یک شی را به صورت serialize ذخیره کنید، مثلا ذخیره کردن یک شی از کلاس user در کوکی و یا ذخیره کردن آن در ASP.NET Identity Claims و...
در این آموزش نحوه serialize را بررسی خواهیم کرد.
یک پروژه جدید از نوع Console Application ایجاد کنید.
یک کلاس با نام clsPerson به پروژه اضافه کنید.
Property های زیر را به کلاس اضافه کنید
public string FirstName;
public string MI;
public string LastName;
درون متد main کلاس Program.cs یک شی از کلاس clsPerson ایجاد کنید:
clsPerson p = new clsPerson();
Property های کلاس را مقدار دهی کنید
p.FirstName = "Esmaeil";
p.MI = "A";
p.LastName = "Sheidaei";
کلاس XmlSerializer برای ایجاد یک شی جدید نیاز دارد نوع شی ایی را که شما می خواهید به serialize تبدیل کنید بداند به همین دلیل ما در زمان ایجاد شی از کلاس XmlSerializer نوع p را به آن اطلاع می دهیم که طبیعتا نوع شی ما در این جا clsPerson است.
ادامه مطلب...آموزش ساخت Connection String
بسم الله الرحمن الرحیم
یک راه ساده برای ایجاد و تست Connection String امروز فرا خواهید گرفت.
برای شروع کافی است در دسکتاپ خود کلیک راست کنید و گزینه new را انتخاب و سپس یک فایل Text Document ایجاد کنید حال پسوند فایل ایجاد شده را به UDL تغییر دهید (یادتان باشد باید پسوند فایلها را ابتدا از طریق Control Panel -> Folder Options -> View گزینه Hide extensions for known file type را غیر فعال کنید ). حال بر روی فایل دابل کلیک کنید تا باز شود و به ترتیب می توانید مشخصات نام سرور خود، نام کاربری و کلمه عبور سرور خود و در نهایت انتخاب پایگاه داده خود را انجام دهید.
در نهایت پس از تکمیل اطلاعات بر روی گزینه Test Connection کلیک کنید تا مطمن شوید یک کانکشن صحیح ایجاد شده است.
برای استفاده از Connection String تولید شده می توانید بر روی فایل کلیک راست کنید و آن را دریک برنامه مثل Notepad باز کنید و از اطلاعات آن استفاده کنید.