ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

۵۶ مطلب با موضوع «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 تو در تو جلوگیری شود.

ادامه مطلب...

تغییر سایز عکس در سی شارپ

بسم الله الرحمن الرحیم

تغییر سایز عکس در سی شارپx

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

متد اصلی ما به صورت زیر خواهد بود

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

ادامه مطلب...

آموزش 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

(بخش سوم) ایجاد یک پروژه بر روی TFS

در بخش های قبل در مورد Online Repository ها صحبت کردیم و نحوه ایجاد یک Team Foundation را بر روی TFS Cloud Repository را بررسی کردیم.

در این بخش قصد داریم تا یک پروژه را بر روی Team Foundation قرار دهیم، اما قبل از شروع بهتر است چند نکته را بررسی کنیم.

ابزارهایی که کد برنامه شما را نگه داری می کنند معمولا امکانات زیادی را ارائه می دهند که این امکانات باعث می شود شما یک ابزار انتخاب کنید. در این جا برخی از ویژگی های مشترک ابزارهای مختلف source control مانند Team Foundation که در حال آموزش آن هستیم را بررسی می کنیم.

توضیح ام را باید یک مثال بیان می کنم. فکر کنید قرار است شما یک برنامه را برای فردی بنویسید، مثلا وب سایت ساده که تعدادی افراد را ثبت نام می کند و به شما یک گزارش ساده می دهد. شما با مشتری خود توافق می کنید و کار را آغاز می کنید.  در ابتدا یک Template برای مشتری طراحی می کنید و طبیعتا مشتری پس از مشاهده Template طراحی شده از شما می خواهد بخش هایی از آن را تغییر دهید.

این تغییرات به صورت مورد به مورد با مشتری بررسی و اعمال می شود تا در نهایت بخش طراحی Template به پایان می رسد.

تصور کنید نیاز پیدا می کنید تا کدها و اطلاعاتی را که در طراحی Template انجام داده اید مجددا استفاده کنید. مثلا صفحه لاگین شما ویژگی هایی داشته که بعد از تعامل با مشتری تغییر داده شده اما اکنون مجددا به هر دلیلی ( تغییر نظر مشتری، نیاز پروژه، استفاده برای پروژه دیگر و...) نیاز به کدهای قبلی خود دارید.

اگر خیلی با تجربه باشید هر چند ساعت یک بار مثل تصویر زیر از فایل های خود یک backup به صورت فایل ZIP ایجاد می کنید (روش زمان دایناسورها)!

آموزش فارسی team foundation server

ادامه مطلب...

آموزش Team Fundation Server (بخش دوم)

بسم الله الرحمن الرحیم

 

آموزش Team Foundation

بخش اول معرفی TFS

(بخش دوم) نصب و راه اندازی TFS

(بخش سوم) ایجاد یک پروژه بر روی 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

(بخش دوم) نصب و راه اندازی TFS

(بخش سوم) ایجاد یک پروژه بر روی 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 باز کنید و از اطلاعات آن استفاده کنید.

up
ما را در گوگل محبوب کنید