Web Developer Recruitment in Faraconesh Corporation

Faraconesh Logo

I hardly ever use my blog to publish unrelated subjects to programming. This is one of them.

Our company Faraconesh Corporation is bound to hire new talented and professional .NET developers. If you like working with me in person in a small-growing company which offer good salary, insurance, flexitime working beside experts which are pioneers in Iran in their skills and you meet the following needs

At least 3 years of relevant experiences.

Deep knowledge of .NET, C#, SQL Server and NHibernate

Also ability to work in team and using issue trackers, source controls and the rest of teamwork tools

Ability to work with WPF, WCF, WF and REST count as advantages

You can send your resume to jobs@faraconesh.com or to me at n.hajloo@gmail.com.

Faraconesh Corporation appreciates in advance your kind request to join and will arrange a meeting with you in next few days.

This is the Persian text for this advertisement.

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

حداقل سه سال سابقه کار مرتبط

درک و تسلط کافی و عمیق از ‫.NET, C#, SQL Server و  NHibernate

همچنین توانایی کار گروهی و استفاده از ابزارهای کار تیمی مانند ایشوترکر ها و سورس کنترها

توانایی کار با WPF, WCF, WF و REST مزیت به شمار می‌آید

را دارید

می‌توانید رزومه کاری خودتان را به آدرس jobs@faraconesh.com و یا برای من به آدرس n.hajloo@gmail.com ارسال نمایید.

شرکت فراکنش از درخواست همکاری محبت آمیز شما از قبل قدردانی کرده و در چند روز آینده یک قرار ملاقات با شما تنظیم خواهد کرد

What is Page Method and How to use it

JQuery Logo
JQuery Logo

I don’t know have you ever needed to use a server side method in a client (JavaScript or JQuery) function or not? PageMethod is the answer for this question. Actually PageMethod is not a complicated method it is just a simple method with 2 differences.

  1. All Web Methods should be Static
  2. And you need to add a [WebMethod] attribute to the top of method

[sourcecode language=”csharp”]
public static void GetMyData()
// your codes …

And that’s all. Your WebMethod is ready to use in client scripts. The good news is that you can use these methods in both of Web Services and Asp.NET Ajax.
How to Use WebMethods in Client Side Scripts? Or How to call a server-side method in JQuery functions?

[sourcecode language=”csharp”]
function SendForm() {
PageMethods. GetMyData ();

Where this kind of methods can be useful?

Just think that you have a web application which needs keyboard short-cuts to be enabled. Or an Ajax modal which try to pass some data to other server methods and some other examples.

You can find a good article about it here

Open Source Unicode Converter

‪‪ as you may know I have some open source activity, and recently publish my first open source project in codeplex.


GNU Logo
GNU Logo

‪Title : Open Source Unicode Converter

‪Publish Date : 09/12/2009

‪Version : 1.0

‪Author : Nasser Hajloo

‪Author Mail : n.hajloo@gmail.com

‪Copyright (c) 2009 Nasser Hajloo.

‪Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;

‪with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.


‪in our company (where I’m working) we’re using Sql Server Reporting Services as reporting service system. we used SSRS 2005 and then upgrade to SSRS 2008 in this upgrading flow we face some problem and indeed to use unicode, where I get familier with unicode and its amazing features.

‪now 2 years passed and I feel that I should provide a powerfull tools for working with unicode, so I search for existing tool and I found

‪on codeplex, Khmr was so diffrent than I need, and fardis ( that leaded by one of my best friend – Afshar Mohebbi ) just cover persian range of unicode, and also afshar do not spent his time on this project any more (in my oponien), because of this I have create a Unicode converter for international reasons and international users.

Unicode Converter - Unicode Information Section
Unicode Converter - Unicode Information Section

‪Unicode Converter is a Free Open Source Software for converting to/from unicode and also getting information about a character.

‪Unicode Converter developed in C# 3.5 and provide 2 variant user interfaces, one for windows with WPF and one with Asp.net for Web.

‪WPF interface going to finish but web interface do not start yet, I think about 2 interface because WPF in limited to windows and a reall FOSS software should not depend on a platform so I provide a web interface for all users.

Unicode Converter - Keyboard Layout Section
Unicode Converter - Keyboard Layout Section

‪by the way in this couple of years I face with a huge issue and it was data input in any language, specially in IRAN most of users (i mean even expert users) use from default windows keyboard layout that is not a standard keyboard layout and all persians familier with ‘Yeh’ (ي – ی) and ‘Kaf’ (ك – ک ) and 4 – 5 & 6 and other numbers issue. that Persian Standard Keyboard Layout (IRISI 9147) resolve these problems in best way, so I put a section for Standards Keyboard Layout for all countries in this application when you select your country, all indeeded information about the keyboard layout will display.

‪ofcourse these information are not complete yet and I need your knoweledge to complete this information for all country, all you need to do is just extending Standards.XML in EnterpriseAppUnit project with your new country infromation and I believe that with your help we can made a better software.

Unicode Converter - Convert To Unicode Section
Unicode Converter - Convert To Unicode Section

‪Unicode Converter hosted by Codeplex , and have 4 project inside,

‪EnterpriseAppUnit : is the logic section of the application and provide some xml that contains characters unicode information.

‪Framework : is the base and common project to collaborate with all Projects, it contains exceptions and some other Base classes.

‪Portal : Web Interface of software

‪UnicodeConverter : WPF Windows interface of software

‪so I need your help to extend this project and if you have a little information (just for a country) please help us improve this application.

‪there are many of jobs to do, and you can see all of them in project Issue tracker.

‪any suggestion and help is appreciate.

‪Unicode Converter : http://unicode.codeplex.com

‪Regards Nasser hajloo

راهنمای جامع دوره‌های برنامه‌نویسی Framework 3.5 مایکروسافت

در حال حاضر در حال سپری کردن دوره Windows Programming که یکی از دوره‌های مایکروسافت برای اخذ مدرک MCTS و نهایتا MCPD است می‌باشم. و به همین دلیل به معضل بزرگی که نداشتن یک راهنمای کامل در مورد چگونگی برگزاری دوره و سرفصل‌های آموزشی و نیز مهمتر از آنها مشخص نبودن کتاب‌ها برخورد کرده‌ام. موسسه‌ای که در حال حاضر آنجا مشغول به گذراندن دوره هستم برای اولین بار است که اقدام به برگزاری دوره .net Framework 3.5 کرده و حتی سایر آموزش‌ها بعضا هنوز اقدام به برگزاری این دوره نکرده‌اند.

مهمترین دلیلی هم که می‌توان در این ارتباط به آن اشاره کرد نداشتن سرفصل مشخص برای تدریس و نبودن کتاب مشخص می‌باشد. با جستجویی که در سایت مایکروسافت در این زمینه کردم، به نتایج زیر رسیدم.


این مطلب زیر نظر مجوز GFDL منتشر می‌شود. و کلیه حقوق آن برای همگان آزاد است، بدین شرط که به کلیه شرایط موجود در مجوز GFDL ( که یک نسخه از متن انگلیسی مجوز GFDL در این محل و یک ترجمه غیر رسمی (فارسی) از متن مجوز GFDL که در مرداد ۱۳۸۳ توسط کاوه رنجبر تهیه شده است در این محل ) قرار دارد پایبند باشد.

GNU Logo
GNU Logo

عنوان مطلب : راهنمای جامع دوره‌های برنامه‌نویسی Framework 3.5 مایکروسافت

بخش ثانی : ندارد

تاریخ انتشار : 0۸/02/1387 مطابق با 2۸/04/2009

شماره نسخه : نسخه یک

نویسنده : ناصر حاجلو

ای-میل نویسنده : n.hajloo@gmail.com

نسخه شفاف این نوشته ، نسخه مات این نوشته

Copyright (c) 2009 Nasser Hajloo.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.


بطور کلی برخلاف گذشته که مایکروسافت مردک MCSD و MCSA رو به برنامه‌نویسان می داد. در حال حاضر این مدارک تغییر کرده‌اند و به شکل سابق موجود نیستند و کلیه مدارک قبلی از درجه اعتبار ساقط هستند و در حال حاضر اعتبار ندارند. مدرکی MCSD که قبلا یکی بود در حال حاضر به سه مدرک جداگانه تبدیل شده یک MCPD برای ویندوز یک MCPD برای وب و یک MCPD برای Enterprise Application (سابق بر این فقط مدرک MCSD وجود داشت که معادل Enterprise کنونی بوده )

مدرک MCSA که پس از گذراندن چند دوره به شرکت کننده اعطا میشده، در حال حاضر کاملا دگرگون شده و پس از گذراندن هر Pair به شرکت کننده مدرک MCTS اعطا می‌شود، برای مثال اگر شما می‌خواهید مدرک MCTS در WPF بگیرید باید هر دو مدرک 70-536 که foundation است و مدرک 70-502 را دریافت کنید. و به همین ترتیب شما می‌توانید تعداد زیادی MCTS در حوزه‌های مختلف کسب کنید. در این میان اگر با توجه به جدول زیر امتحانات خاصی را سپری کنید. پس از دریافت یک MCTS ( به ازای هر پیش نیاز یعنی اگر پیش نیازهای یک دوره را تکمیل کنید MCTS آن را دریافت می کنید ) بتوانید امتحان اصلی را هم پاس کنید. شما یک MCPD دریافت خواهید کرد. بنابراین یک MCTS برای ویندوز و یک MCTS برای وب وجود دارد که شما بسته به نوع کاری و حیطه فعالیت می‌توانید یکی را انتخاب نمایید. نهایتا اگر MCTS های ویندوز و وب را دریافت کردید می توانید بدون اینکه MCPD هیچ کدام را دریافت کنید، با گرفتن دو MCTS دیگر در WCF و ADO.net برای دریافت MCPD در Enterprise اقدام کنید. شرح هر دوره در زیر آمده است.

برای سپری کردن دوره MCPD باید در امتحانات زیر نمره قبولی دریافت کنید. (اصل این لیست اینجا قابل مشاهده است) این امتحانات عبارتند از :

گواهینامه پیش نیاز امتحاناتی که باید سپری شود

MCPD: Windows Developer 3.5

MCTS: .NET Framework 3.5, Windows Forms Applications (Exam 70-536 and Exam 70-505)

Exam 70-563: PRO: Designing and Developing Windows Applications Using Microsoft .NET Framework 3.5

MCPD: ASP.NET Developer 3.5

MCTS: .NET Framework 3.5, ASP.NET Applications (Exam 70-536 and Exam 70-562)

Exam 70-564: PRO: Designing and Developing ASP.NET Applications Using Microsoft .NET Framework 3.5

MCPD: Enterprise Application Developer 3.5

MCTS: .NET Framework 3.5, Windows Forms Applications (Exam 70-536 and Exam 70-505)      


MCTS: .NET Framework 3.5, ASP.NET Applications (Exam 70-536 and Exam 70-562)      


MCTS: .NET Framework 3.5, ADO.NET Applications (Exam 70-536 and Exam 70-561)      

MCTS: .NET Framework 3.5, Windows Communication Foundation Applications (Exam 70-536 and Exam 70-503)

Exam 70-565: PRO: Designing and Developing Enterprise Applications Using Microsoft .NET Framework 3.5 (available soon)

exam 70-536
exam 70-536

exam 70-536 : پیش نیازی الزامی برای تمام دوره‌های .net framework

همانطور که در لیست بالا مشاهده می‌کنید exam 70-536 که همان Foundation است . پیش از این در .net framework 2.0 هم تدریس می‌شد و از این لحاظ هیچ تفاوتی با آن ندارد. نام کامل این کتاب MCTS 70-536 Exam Prep: Microsoft .NET Framework 2.0 Foundation Exam (Exam Cram 2) است و از سایت آمازون در این آدرس  قابل خریداری می‌باشد. ( لینک دانلود بعلت حمایت از حقوق تالیف کننده از سایت آمازون انتخاب شده است ) مهم نیست که شما برای دریافت کدام گواهینامه ( ویندوز – وب – سیستم‌های توزیع شده ) اقدام می‌کنید. در هر صورت شما مجبورید که این امتحان را با موفقیت سپری کنید. اطلاعات بیشتر در ارتباط با این دوره را در این آدرس در سایت مایکروسافت مشاهده کنید.

Windows Developer 3.5

اگر شما می‌خواهید یک برنامه‌نویس ویندوز شوید. شما باید علاوه بر امتحان 70-536 دو امتحان دیگر به شماره‌های 70-505 و دیگری 70-563 را با موفقیت سپری کنید. از این دو امتحان ، امتحان 70-505 پیش نیاز و امتحان 70-563 امتحان اصلی می باشد.

exam 70-505
exam 70-505

exam 70-505 : پیش نیازی الزامی برای دوره برنامه‌نویسی ویندوز

این دوره یک دوره برنامه‌نویسی ویندوز است که طی آن ، شرکت کننده مهارت‌های ابتدایی برنامه‌نویسی در ویندوز اعم از ایجاد کنترل‌های سفارشی و  win form را کسب می‌کند. نام کامل این دوره Microsoft .NET Framework 3.5, Windows Forms Application Development  بوده و مرجع تدریس این دوره،  کتاب Microsoft® .NET Framework 3.5 Windows® Forms Application Development   است که می‌توانید آن را در این آدرس از سایت آمازون  خریداری نمایید. اطلاعات بیشتر در مورد این دوره را می توانید اینجا در سایت مایکروسافت مشاهده نمایید.‌

کتاب پیشنهادی
کتاب پیشنهادی

  exam 70-563 : دوره اصلی برنامه‌نویسی ویندوز

این دوره ، یک دوره تکمیلی برای 70-505 به شمار می‌رود و مهمترین مباحثی که در آن مطرح می‌شود مباحث مرتبط با Ado.net و Linq  و سایر مباحث تکنیک‌های پیشرفته برنامه‌نویسی ویندوز است. نام کامل این دوره Designing and Developing Windows Applications Using the Microsoft .NET Framework 3.5 بوده و به علت مباحث گوناگونی که در آن مطرح می‌شود مایکروسافت اقدام به انتشار یک کتاب واحد برای آن ننموده و چنان که من برداشت کردم بسته به مبحث تدریس منابع مختلفی را ( بسته به میل استاد ) پیشنهاد می‌کند اما سر فصل‌ها چنانکه در این لینک  مشاهده می‌شود باید باشد و نهایتا چنانچه در لینک مورد اشاره آمده ، دانشجو باید بتواند مهارت‌های یاد شده را کسب کرده باشد. با توجه به مطالب گفته شده پیشنهاد من مطالعه کتاب‌های زیر برای گذراندن این دوره است. ( برای توضیحات بیشتر روی نام کتاب‌ها کلیک کنید )

Programming Microsoft LINQ

Programming Microsoft Windows Forms

ASP.NET Developer 3.5

همچنان که مایکروسافت برای ویندوز دوره 70-536 را پیش نیاز آورده، برای وب هم همان دوره پیش نیاز است و همچنین دو دوره دیگر برای وب به شرح زیر مورد نیاز می‌باشد.

Exam 70-562
Exam 70-562

Exam 70-562 : دوره پیش‌نیاز برنامه نویسی وب

این دوره با عنوان Microsoft .NET Framework 3.5, ASP.NET Application Development و برای ایجاد برنامه‌های تحت وب با قابلیت آژاکس برگزار می‌شود. با سپری کردن این دوره ، یک شرکت کننده قادر خواهد بود برنامه تحت وب را پیکربندی کرده، برای آن کنترل سفارشی ایجاد کند، با XML بخوبی کار کرده و سرویس های WCF برای برنامه ایجاد و استفاده کند. همچنین او قادر خواهد بود برنامه‌ها را طوری ایجاد کند که برای موبایل هم قابل استفاده باشد. نهایتا Localization و ایجاد UI نیز از سایر مباحث خواهد بود. کتاب پیشنهادی مایکروسافت برای این دوره Programming Microsoft® ASP.NET است. اطلاعات بیشتر در ارتباط با این دوره را اینجا در سایت مایکروسافت ملاحظه کنید.

کتاب پیشنهادی
کتاب پیشنهادی

Exam 70-564 : دوره اصلی برنامه نویسی وب

این دوره که با عنوان Designing and Developing ASP.NET Applications Using the Microsoft .NET Framework 3.5 برگزار می‌شود، به منظور ایجاد برنامه‌های ایمن و با انعطاف بالا برگزار می‌گردد. شرکت کننده این دوره پس از سپری کردن، باید اطلاعاتی در ارتباط با مباحث ایمن سازی برنامه‌های تحت وب، ایجاد قالب و ظاهر انعطاف پذیر، ایجاد کنترل‌های سفارشی، کار با سرویس‌ها و داده‌ها، توانایی تشخیص مباحث Deploy و Debug و … داشته باشد. مایکروسافت به علت مباحث زیادی که در این دوره مطرح می‌شود کتابی را پیشنهاد نکرده و انتخاب منبع برای استفاده را به استاد واگذار کرده است.بتوجه به مطالب این دوره، من کتابهای زیر را برای مطالعه پیشنهاد می‌کنم. اطلاعات بیشتر در ارتباط با این دوره را اینجا در سایت مایکروسافت ملاحظه کنید.

Microsoft ASP.NET and AJAX – Architecting Web Applications

Microsoft ASP.NET 3.5 Step by Step

Enterprise Application Developer 3.5

شخصی که مایل است یک Enterprise Application Developer باشد باید پیش نیازهایی را که در جدول بالا گفته شده را با موفقیت سپری کرده و نهایتا Exam 70-565 را پاس کند. توجه داشته باشید که از پیش نیازهای این دوره تعدادی از آنها در دو MCPD قبلی تکراری هستند برای مثال شما باید این پیش نیازها را طی کنید

Exam 70-536  : که توضیح آن در بالا آمد

Exam 70-505  : که توضیح آن در بالا آمد

Exam 70-562  : که توضیح آن در بالا آمد

Exam 70-561  : که توضیح آن در ادامه خواهد آمد

Exam 70-503  : که توضیح آن در ادامه خواهد آمد


Exam 70-561
Exam 70-561

Exam 70-561 : دوره‌ پیش نیاز Enterprise و در ارتباط با ADO.net

 این دوره که با عنوان  Microsoft .NET Framework 3.5, ADO.NET Application Development شناخته می‌شود ،  برای بالابردن مهارت برنامه‌نویسان در کار با database است. پس از گذراندن این دوره ، برنامه نویس موفق به اخذ مدرک MCTS مرتبط از مایکروسافت خواهد شد. مایکروسافت دو کتاب MCTS Self-Paced Training Kit (Exam 70-561): Microsoft .NET Framework 3.5 – ADO.NET Application Development   و Programming the Microsoft ADO.NET Entity Framework  را برای این دوره پیشنهاد کرده است.که با کلیک بر روی نام هر یک از آنها می‌توانید اطلاعات بیشتری در ارتباط با هر کدام کسب کنید. تصویر یکی از آن ها را در کنار این قسمت مشاهده می‌کنید. برای توضیحات بیشتر در ارتباط با این دوره این آدرس در سایت مایکروسافت  را مشاهده کنید.

Exam 70-503
Exam 70-503

exam 70-503 :‌ دوره‌ پیش نیاز Enterprise و در ارتباط باWCF

 این دوره که با عنوان Microsoft .NET Framework 3.5 – Windows Communication Foundation Application Development برگزار می‌شود . یکی از پی نیازهای Enterprise به شمار می آید که اینجا در سایت مایکروسافت می‌توانید اطلاعات بیشتری در ارتباط با این دوره کسب کنید. مایکروسافت برای این دوره دو کتاب Microsoft Windows Communication Foundation Step by Step و Inside Windows Communication Foundation را پیشنهاد کرده است. که تصویر یکی از آنها را در اینجا ملاحظه می‌کنید. ( برای توضیحات بیشتر در مورد کتابها روی نام آنها کلیک کنید )

Exam 70-565 : دوه اصلی Enterprise Application Developer

این دوره با عنوان Designing and Developing Enterprise Applications Using Microsoft .NET Framework 3.5  برگزار می‌شود و با استناد به این لینک هنوز اطلاعات کافی در ارتباط با آن در سایت مایکروسافت قرار داده نشده است. اما چنانکه گفته شد برای دریافت این مدرک باید پیش نیازهای فوق حتما سپری شود.

 دوره‌های مستقل مایکروسافت (این دوره‌ها هیچ ارتباطی با MCPD ندارند و کسی که آنها را با موفقیت سپری کند موفق به اخذ MCTS مرتبط با دوره می‌شود)

Exam 70-502
Exam 70-502

exam 70-502 : دوره‌ای جدای از دوره‌های MCPD و کاملا مستقل برای WPF

برای گذراندن دوره WPF شما باید exam 70-502 را سپری کنید. این دوره جدای از MCPD است و جداگانه برای علاقمندان برگزار می‌شود. در این لینک در سایت مایکروسافت می توانید اطلاعات بیشتری در ارتباط با WPF بدست بیاورید. توجه داشته باشید که برای WCF و WF هم مدارک مستقل وجود دارد  شما در صورت علاقه باید جداگانه امتحان بدهید و گرفتن آن مدارک کمکی به دریافت مدرک MCPD نمی کند و صرفا شما را در صف MCTS داران جای می دهد. نام دوره WPF در واقع Microsoft .NET Framework 3.5 – Windows Presentation Foundation Application Development  است و کتاب آن Windows® Presentation Foundation 4.0: A Scenario-Based Approach  است.اطلاعات بیشتر در ارتباط با exam 70-502 را در این آدرس در سایت مایکروسافت مشاهده نمایید.

Exam 70-504
Exam 70-504

exam 70-504 : دوره‌ای جدای از MCPD و کاملا مستقل برای WF

 دوره Workflow Foundation هم مانند سایر w ها کاملا مستقل برگزار می‌شود و شما پس از گذراندن این دوره ( با نام کامل Microsoft .NET Framework 3.5 – Windows Workflow Foundation Application Development ) می توانید یک MCTS دریافت کنید در صورتی که 70-536 را گذرانده باشید ( برای همه دوره‌های w این امر صادق است ) کتاب پیشنهادی مایکروسافت برای این دوره Microsoft® Windows® Workflow Foundation Step by Step است که اطلاعات بیشتر در مورد آن را می‌توانید اینجا در سایت مایکروسافت  مشاهده کنید. همچنین برای اطلاعات بیشتر در ارتباط با این دوره اینجا  را ملاحظه کنید.

لینک‌های مرتبط

     اطلاعاتی در ارتباط با شماره exam هایی که باید برای دریافت گواهینامه MCPD 3.5 سپری کنید

     اطلاعات بسیار خوب برای مشخص کردن اینکه پس از گذراندن چه دوره‌هایی چه قابلیت‌هایی کسب می‌کنید. توجه داشته باشید که در این لینک یکسری ترکیب از مدارک ارائه شده که شما در صورت گذراندن آن دوره ها قابلیت‌های مختلفی کسب می‌کنید. همه این دوره‌ها جزو MCPD نیستند وبا پاس کردن هر کدام از آنها شما یک MCP و با ترکیب آنها شما MCTS دریافت می‌کنید. اما برای دریافت MCPD باید طبق آنچه که گفته شده عمل کنید.

     Exam 70-536 پیش نیازی برای همه دوره‌ها

     Exam 70-505 دوره پیش نیاز برنامه‌نویسی ویندوز 

     Exam 70-563 دوره اصلی برنامه‌نویسی ویندوز

     Exam 70-562 دوره پیش نیاز برنامه نویسی وب

     Exam 70-564 دوره اصلی برنامه نویسی وب

     Exam 70-503 دوره‌ پیش نیاز Enterprise و در ارتباط با WCF

     Exam 70-561 دوره‌ پیش نیاز Enterprise و در ارتباط با ADO.net

     Exam 70-504 دوره‌ای کاملا مستقل برای WF

     Exam 70-502 دوره‌ای کاملا مستقل برای WPF

  پایان نوشته

معرفی FileUpload

مایکروسافت در دات نت ۲ ، یک کنترل متحول شده برای قرار دادن فایلها از روی کلاینت بر روی سرور به ASP.net اضافه کرد . این کنترل شاید در نگاه اول با همان معادل html ی اش مشابه باشد اما قدرت بیشتری دارد . در زیر به بررسی بیشتر این کنترل خواهیم پرداخت. در آینده ای نزدیک نحوه کار با این کنترل و البته سفارشی سازی آن را نیز خواهم آورد .

برای ایجاد یک FileUpload باید به این طریق عمل کرد .

<asp:FileUpload id=”FileUpload1″ runat=”server” />

برخی از خصوصیات مفید این ابزار عبارتند از :

  1.    FileUpload1.FileName :- نام و مسیر کامل فایل را به شما می دهد
  2.    FileUpload1.PostedFile.FileName :- صرفا نام فایل را می دهد
  3.    FileUpload1.PostedFile.ContentLength :- سایز و اندازه فایل انتخاب شده را در واحد بایت می دهد
  4.    FileUpload1.PostedFile.ContentType :-  نوع فایل را مشخص می کند مثلا :  “image/gif”
ظاهر این ابزار در مرورگرهای مختلف متفاوت است
ظاهر این ابزار در مرورگرهای مختلف متفاوت است

یکی از مشکلاتی که معمولا در آپلود کردن فایلها وجوددارد محدودیت سایز فایل است و انتخاب فایلهای بزرگ برای کاربران محدودیت دارد. این مشکل در اینجا هم وجود دارد و اگر شما از FileUpload استفاده کنید فایلهایی را با حداکثر اندازه ۴ مگابایت می توانید بر روی سرور آپلود کنید . برای اینکه این محدودیت را کنار بگذارید و فایلهای بزرگتری را آپلود کند باید یک تغییر در فایل Web.Config برنامه تان، به شکل زیر بدهید

<httpRuntime executionTimeout=”1000″ maxRequestLength=”1048576″/>

چنانکه در بالا ملاحظه می کنید خصوصیت maxRequestLenght برای مشخص کردن حداکثر سایز مجاز برای آپلود در نظر گرفته شده . عدد وارد شده در بالا هم به کاربر اجازه می دهد تا فایلهایی با اندازه یک گیگابایت را آپلود کنند . خصوصیت Timeout هم که احتیاج به معرفی ندارد و کاملا گویا است . فقط توجه داشته باشید که این زمان به ثانیه محاسبه می شود و بطور پیش فرض دات نت مقدار ۹۰ (‌نود ) ثانیه را در آن قرار داده ( برای فایلهای ۴ مگابایتی، توجه کنید که این زمانیست که عملیات در ASP اجازه دارد تا به اتمام برسد و اگر ارسال فایلها تا انتهای این زمان انجام نشد، ASP عملیات را خاتمه خواهد داد ( عملیات ناقص می ماند )

هنگام استفاده از این ابزار توجه کنید که در برنامه نهایی بر روی IIS قرار می گیرد باید به folder ( پوشه ای ) که قرار است فایلها در آن آپلود شود دسترسی execute بدهید و از وجود پوشه اطمینان حاصل کنید . اگر این پوشه ReadOnly باشد و شما دسترسی execute را در IIS ست نکرده باشید کاربران هنگام آپلود با خطا روبرو می شوند .

     نکته : این ابزار برای قرار دادن فایلها بر روی سرور احتیاج به یک PostBack دارد.

     نکته : اگر از این ابزار در Asp.net Ajax استفاده می کنید توجه کنید که باید برای آن یک Trigger با قابلیت PostBack تعریف کنید .

در اینجا یک نمونه خوب از FileUpload وجود دارد توصیه می‌کنم ملاحظه کنید.

همانطور که در بالا گفتم هنگام استفاده از این ابزار ، جهت قرار دادن فایلها بر روی سرور به یک PostBack احتیاج است که این امر زیاد برای طراحان وب خوب نیست و یکی از معضلات پیاده سازی محسوب می شود . در آینده سعی می کنم روشی را معرفی کنم که این PostBack را از دید کاربر مخفی کند و مثلا چیزی شود شبیه به Attachment ها در Gmail و سایر برنامه های مشابهی که ظاهرا هنگام قراردادن فایلها بر روی سرور هیچ PostBack ی بر روی صفحه نمی زنند .

همچنین مشکل دیگری که وجوددارد ظاهر این ابزار است که تقریبا تحت هیچ شرایطی نمی توان آن را سفارشی کرد . مثلا دکمه جلوی TextBox که متن Browse در آن قرار دارد بسیار بد شکل است و متن ن قابل تغییر نیست . در مطالب بعدی راهی هم برای حل این مشکل آورده خواهد شد.

در مطالب بعدی کدهای مرتبط با نحوه آپلود فایلها بر روی سرور را هم خواهم آورد .

چطور برای ردیف‌های یک GridView در ASP.net حالت Hover بگذاریم

GridView ابزار قدرتمدنی برای نمایش حجم زیادی از اطلاعات است که بی تردید در بسیاری از موارد کارگشااست، شرکتهای مختلف GridViewهای مختلفی را با قابلیتهای متفاوتی برای استفاده آماده کرده‌اند که از آن میان می‌توان به GridView فوق‌العاده ی شرکت XCEED که رابط WPF دارد اشاره کرد. مایکرسافت هم بطور پیش فرض در دات نت یک GridView قرار داده که امکانات خوبی دارد و نقطه ضعف این ابزار صرفا مربوط به ابزارها و قابلیتهای کلاینتی است.

برای مثال اگر شما بخواهید وقتی کاربر ماوس را روی ردیف‌های این جدول ببرد، رنگ پس‌رمینه تغییر کند، بی شک GridView دات نت این قابلیت را نخواهد داشت. اما نکته قابل ذکر آن است که بخاطر eventهای خوبی که این لیست دارد، براحتی می‌توان قابلیت‌های جدید و منحصربه فردی را به آن اضافه کرد. امروز نحوه ایجاد Hover برای Row های یک GridView را بررسی خواهیم کرد.

نمونه ای از یک GridView در Asp که خاصیت Hover به آن اضافه شده است
نمونه ای از یک GridView در Asp که خاصیت Hover به آن اضافه شده است

راه‌های زیاد و متفاوتی برای این کار وجود دارد که با یک جستجوی ساده در Google قابل مشاهده و دسترسی است. اما مزیت راه اشاره شده در اینجا آن است که از مشخصات خود RowStyle و AlternatingRowStyle برای تغییر استفاده می‌کند و برای تغییر پس زمینه ، شما لازم نیست که در Mouse Over کلیه مشخصات دلخواه را تنظیم و مقادیر تنظیم شده را در Mouse Out دوباره به حالت قبل بازگردانید .

برای این کار در Event ی با نام OnRowCreated ( زمانی که ردیف ایجاد می‌شود ) قطعه کد زیر را بنویسید

protected void grdList_RowCreated(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Attributes.Add(“onmouseover”, “this.originalstyle=this.style.backgroundColor;this.style.backgroundColor=’#FFFFbe'”);
e.Row.Attributes.Add(“onmouseout”, “this.style.backgroundColor=this.originalstyle;”); 

و در UI صفحه ، جایی که GridView را تعریف کردید، این event را در لیست فراخوانی‌های GridView اضافه کنید ، یعنی باید داشته باشید : OnRowCreated=grdList_RowCreated
 در نهایت با انجام کارهای بالا، کار تمام است. همانطور که در قطعه کد بالا ملاحظه می‌کنید از یک تکه کد جاوا اسکریپت برای اضافه کردن خاصیت Hover به GridView استفاده شده و همانطور که ملاحظه می‌کنید، هنگامیکه ماوس از روی ردیف کنار می‌رود، تمام خاصیت‌های قبلی ردیف ( چه در RowStyle و چه در AlternateRowStyle ) به جای خودشان بازگردانده می‌شوند.

تمرین : ‌برای بهینه کردن قطعه کد بالا، آن را طوری تغییر دهید که بجای گرفتن یک رنگ در کد-بیهاند، یک Class  را از CSS بخواند.

ارتقاء Asp .net Ajax 1.0 به Asp .net Ajax 3.5

برای ارتقاء آژاکس از نسخه 1 که در visual studio 2005 و دات نت 2 استفاده می شود ،‌به نسخه 3.5 که در visual studio 2008 و بصورت داخلی و از پیش موجود وجوددارد . چند گام بیشتر لازم نیست .

Asp.net Ajax
Asp.net Ajax



گام اول :

یکی نکردن مفهوم Asp .net Ajax با Ajax Control Toolkit 

در ارتقاء نسخه دقت کنید که مفهوم ایندو کاملا با هم متفاوت است ، بخش اول یعنی Asp.net Ajax شامل چند control محدود و مربوط به core آژاکس است ،‌ مثل ScriptManager و UpdatePanel . اما Ajax Control Toolkit شامل یکسری Control از پیش ایجاد شده است که برای استفاده از آنها باید هر کدام از آنها را بطور جداگانه به برنامه اضافه کرد مثل confirm extender و سایر کنترل ها . بنابراین توجه داشته باشید که موقع ارتقاء نسخه هر کدام از این بخش ها را باید بطور جداگانه بروز نمایید .

ارتقاء Asp.net Ajax اصلا کار پیچیده ای نیست اگر از نسخه نهایی آژاکس استفاده کرده باشید که dll آنها با System شروع می‌شود مثل System.Web.Extension (‌نسخه های قبلی و غیر نهایی با کلمه microsoft شروع می‌شوند ) موقع باز کردن پروژه با Visual Studio سوالی مبنی بر convert پروژه پرسیده می‌شود و پس از قبول کردن این تبدیل کدها ، تمامی تغییرات لازم خود به خود صورت می گیرد و شما لازم نیست هیچ کدی را عوض کنید . همچنین تغییرات لازم بصورت خودبخود و اتومات در web.config ایجاد می شود .

Asp.net Ajax Toolkit
Asp.net Ajax Toolkit



گام دوم :

پس از ارتقاء موتور آژاکس که براحتی انجام می شود باید Toolkit را هم ارتقا بدهید که اگر کد غیر استانداردی ننوشته باشید ، مشکل ساز نخواهد بود ، فقط آخرین نسخه از Toolkit را آز سایت codeplex از اینجا بگیرید و جایگزین dll فعلی کنید .

گام سوم :

از نسخه جدید لذت ببرید .

منابع :

نسخه های مختلف آژاکس که من با کمک افشار محبی تهیه کردیم و در وبلاگ افشار محبی قرار داده شده

در اینجا هم یک مطلب چند قسمته به زبان انگلیسی برای ارتقاء نسخه هست :


Understanding ASP.NET AJAX Versioning

Upgrading ASP.NET AJAX 1.0 Applications to use ASP.NET AJAX 3.5

این هم یک مطلب خوب و با ارش دیگر در همین زمینه با عنوان :: Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5