مهدی عزیزی

مقایسه‌ای کوتاه بین WCF و ASMX

ویژگی WCF ASMX
حداقل پیشنیاز دات نت سه دات نت یک
هدف جایگزینی یکپارچه‌ی فناورهای قبلی شامل
ASMX ، WSE ،
MSMQ ، COM+ Eenterprise
services
و .NET Remoting
ارائه وب سرویس
پروتکل‌های پشتیبانی شده HTTP
TCP
Named pipes
MSMQ
Custom
UDP
HTTP only
پشتیبانی از WS-* standards بلی خیر
پشتیبانی از اطلاعات بایناری بلی خیر
پشتیبانی از REST بلی خیر
میزبان‌های مهیا در هر نوع برنامه‌ی تهیه شده با دات 3 به بعد قابل
میزبانی است، مانند یک برنامه کنسول، یک سرویس ویندوز ان تی و غیره. به این لیست IIS را هم می‌توان اضافه کرد.
فقط IIS
سرعت WCF Services‌ نسبت به ASMX Web Services از 25
تا 50 درصد سریعتر هستند + و +
نحوه‌ی پاسخ دهی به درخواست‌ها (یا ایجاد یک وهله جدید) Singleton / private session / per call per-call
پشتیبانی از تراکنش‌ها (transaction) پشتیبانی تو کار + خیر
امنیت پشتیبانی تو کار + خودتان باید فکری برای این موضوع نمائید.
بسط پذیری بلی + خیر
مدت زمان یادگیری حداقل یک ماه یک روز!
۲۷ تیر ۹۳ ، ۱۹:۵۰ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

بدست آوردن پورت USB در سی شارپ

در این اینجا قصد داریم لیستی از Port ها USB فعال در سیستم رو بدست بیاریم

private static void Main(string[] args)
        {
            var usbDevices = GetUSBDevices();

            foreach (var usbDevice in usbDevices)
            {
                Console.WriteLine("Device ID: {0}", usbDevice.DeviceID);

            }

            Console.Read();
        }

        private static List<USBDeviceInfo> GetUSBDevices()
        {
            List<USBDeviceInfo> devices = new List<USBDeviceInfo>();

            ManagementObjectCollection collection;
            using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub"))
                collection = searcher.Get();

            foreach (var device in collection)
            {
                devices.Add(new USBDeviceInfo(
                                (string) device.GetPropertyValue("DeviceID")
                                ));
            }

            collection.Dispose();
            return devices;
       }
۱۸ تیر ۹۳ ، ۱۹:۵۵ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

زنجیره مارکوف

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

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

۱۴ خرداد ۹۳ ، ۱۸:۲۱ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

Agile Development

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

اما سوال اینجاست که داستان توسعه چابک از کجا آغاز شد؟ مطمئنا خیلی از ما با کابوس پروژه ای که هیچ تجربه ای در انجام آن نداریم روبرو شده ایم. نبودن تجربه موثر منجر به خطاهای تکراری و غیر قابل پیش بینی شده و تلاش و وقت ما را به هدر می­دهد. مشتریان از کیفیت پایین، هزینه بالا و تحویل دیر هنگام محصول ناراضی هستند و توسعه دهندگان از اضافه کارهای بیشتر که منجر به نرم افزار ضعیت­تر می­گردد، ناخشنود.

همین که با شکستی مواجه می­شویم از تکرار چنین پروژه هایی اجتناب می­کنیم. ترس ما باعث می­شود تا فرآیندی بسازیم که فعالیت­های ما را محدود نموده و ایجاد آرتیفکت­ها[۱] را الزامی کند. در پروژه­ جدید از  چیزهایی که در پروژه های قبلی به خوبی کار کرده­اند، استفاده می­کنیم. انتظار ما این است که آنها برای پروژه جدید نیز به همان خوبی کار کند.

ادامه مطلب...
۰۶ خرداد ۹۳ ، ۱۲:۲۴ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

مقایسه برترین کنترل پنل های جهان

کنترل پنل Plesk : امنیت ( از 5 نمره 3 ) – راحتی استفاده ( از 5 نمره 4 ) – امکانات ( از 5 نمره 4 ) – سرعت ( از 5 نمره 2 ) –  استفاده از منابع مانند رم و سی پی یو ( از 5 نمره 2 )‌ – پایداری (از 5 نمره 4 ) – مناسب برای ASP.Net وPHP ( از 5 نمره 4 ) – اپدیت ها ( از 5 نمره 4 ) - Multi Server  و Load Balancing  ( ندارد ) – محاسبه قیمت ( بسیار گران ) – نسخه نمایشی پنل ( کلیک کنید  :    search   )  -  نمره کلی ( از 10 نمره 9 )

کنترل پنل H-Sphere : امنیت ( از 5 نمره 3 ) – راحتی استفاده ( از 5 نمره 1 ) – امکانات ( از 5 نمره 3 ) – سرعت ( از 5 نمره 4 ) –  استفاده از منابع مانند رم و سی پی یو ( از 5 نمره 5 )‌ – پایداری (از 5 نمره 3 ) – مناسب برای ASP.Net ( از 5 نمره 2 ) – مناسب برای PHP ( از 5 نمره 4 )  اپدیت ها ( از 5 نمره 1 ) - Multi Server    ( دارد ) - Load Balancing ( ندارد ) - محاسبه قیمت ( بسیار گران ) – نسخه نمایشی پنل ( کلیک کنید  :    search   )  -  نمره کلی ( از 10 نمره 7 )

کنترل پنل C Panel : امنیت ( از 5 نمره 4 ) – راحتی استفاده ( از 5 نمره 4 ) – امکانات ( از 5 نمره 5 ) – سرعت ( از 5 نمره 4 ) –  استفاده از منابع مانند رم و سی پی یو ( از 5 نمره 4 )‌ – پایداری (از 5 نمره 4 ) – مناسب برای ASP.Net ( خیر ) – مناسب برای PHP ( از 5 نمره 5 )  اپدیت ها ( از 5 نمره 5 ) - Multi Server    ( ندارد ) - Load Balancing ( ندارد ) - محاسبه قیمت (متوسط ) – نسخه نمایشی پنل ( کلیک کنید  :    search   )  -  نمره کلی ( از 10 نمره 9 )

کنترل پنل Dot Net Panel 

ادامه مطلب...
۰۲ خرداد ۹۳ ، ۱۷:۰۸ ۱ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

Application Pool در IIS چیست

وب سرور IIS از سرویس های سیستم عامل ویندوز سرور محصول شرکت مایکروسافت جهت افزایش کارایی، پایداری و امنیت وب سایت ها از ابزاری تحت عنوان Application Pool ابرای ایزوله کردن پروسه هر وب سایت استفاده می نماید. مفهوم ایزوله سازی محاسبات به این معناست که برای مثال کدهای وب سایت مشتری الف در یک فرایند اجرا و محاسبه شده و کدهای وب سایت مشتری ب نیز به صورت کاملا جداگانه در فرایندی مستقل اجرا می گردند.

وب سرور IIS به طور معمول قادر است تا تمامی فرمت های استاندارد مانند HTML استاتیک و … را به راحتی پردازش کند. اگر بازدیدکننده ای به وب سایت شما رفته و قصد مشاهده فایل index.html را داشته باشد، هسته مرکزی وب سرور IIS فایل مورد نیاز را از حافظه بازیابی کرده و پس از پردازش آن، نتیجه را به مرورگر بازدیدکننده ارسال می کند.اما وب سرور برای پردازش کدهای داینامیک و یا اسکریپت های فایل بیس مانند ASP و یا ASP.Net، درخواست ها را به یک Application Pool ارجاع می دهد. Application Pool با روند پردازشی مستقل و جداگانه، میزبان مناسبی برای پردازش این نوع کدهای داینامیک می باشد. با استفاده از این قابلیت شرکت های ارایه دهنده خدمات میزبانی اشتراکی  می توانند با در نظر گرفتن Application Pool های اختصاصی برای هر وب سایت، تدبیری بیاندیشند تا کدهای هر وب سایت با استفاده از شناسه ای منحصربفرد از یکدیگر جدا شده و به صورت مستقل اجرا می شوند.

  تصویر فوق سناریویی

ادامه مطلب...
۱۹ ارديبهشت ۹۳ ، ۰۲:۱۵ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

معرفی HttpHandler ها در ASP.NET

HttlHandlers ها در ASP.NET یک روند یا پردازشی می باشد برای پاسخ به در خواستهایی که از سمت یک ASP.NET Web Application فرستاده می شود ، شایعترین Handlers ها در ASP.NET یک Page Handles  می باشند که یک فایل ASPX را Handle می کنند ، زمانی که کاربرها درخواستی را از فایلهای ASPX ارسال می کنند این درخواست که از Page های ASPX ارسال شده است توسط Page Handler رسیدگی می شود .

ASP.NET Page Handler ها فقط یک نوع از Handler ها هستند .

ASP.NET به همراه چند Handler های دیگر درون ساخت ایجاد شده است مانند Web Service Handler که مسئولیت رسیدگی به فایلهای ASMX. را دارد . 

شما می توانید Http Handler های سفارشی خودتان را ایجاد کنید به عنوان مثال میتوانید یک پسوند دلخواه را در Application خودتان پردازش کنید ، ممکن است در بعضی از سایتها دیده باشید که به جای پسوند عکسهای JPG از پسوندهای دلخواهی استفاده شده است مانند WEBJPG و ... هر چه که در مد نظر شماست . چند مثال دیگر :

RSS Feeds : شما می توانید یک Rss Feed را برای وب سایت خود ایجاد کنید ، یک Handler ایجاد کنید که مدیریت می کند RSS-formatted XML . شما می توانید یک پسوند دلخواه مثلا Rss. را به Handler سفارشی خود اختصاص دهید تا زمانی که کاربرها یک درخواست به سایت شما ارسال می کنند که با پسوند Rss. به پایان می رسد ASP.NET بعد از دریافت این درخواست Handler سفارشی شما را برای پردازش این در خواست اجرا خواهد کرد .

Image server : اگر می خواهید Web Application شما دارای یک سرور تصاویر برای تغییر اندازه تصاویر باشد می توانید Handler سفارشی را برای این منظور ایجاد کنید .

Http Handler ها به application context ، application state ، session information و user's identity دسترسی دارد . هنگامی که Http Handler درخواست می شود ASP.NET متد ProcessRequest را در handler شفارشی شما صدا می زند ، این متد وظیفه ارسال Response یا پاسخ بازگشتی به مرورگر را بر عهده دارد .

یک Http Handler می تواند به دو صورت متفاوت باشد ، صورت اول Synchronous یا هم زمان ، صورت دوم Asynchronous یا غیر هم زمان . یک synchronous handler هیچ مقداری را بر نمی گرداند تا زمانی که درخواستی از Http برای آن صدا زده شود . یک asynchronous handler هم یک پردازش مستقلی را اجرا می کند بدون این که در خواستی از کاربرها ارسال شود . asynchronous handler زمانی مفید هستند که می خواهید یک پردازش طولانی مدت را از شروع یک Application انجام دهید .

Http Handler های درون ساخت در ASP.NET

ASP.NET بسته هایی از Http Handler ها را برای برخی پسوند ها فراهم کرده است که در لیست زیر نمایش داده شده است .

Handler  توضیحات

ASP.NET Page Handler (*.aspx)

Http Handle پیش فرض برای همه Page ها در ASP.NEt

Web service handler (*.asmx)

Http Handle پیش فرض برای Web Service Pages ها که توسط ASP.NEt ساخته شده اند .

ASP.NET user control handler (*.ascx)

Http Handle پیش فرض برای همه User Controls ها در ASP.NEt

Trace handler (trace.axd)

 یک Handle که اطلاعات صفحه ای که در حال حاضر نمایش داده می شود را ردیابی می کند .

ساخت یک  HttpHandler سفارشی

ادامه مطلب...
۰۴ ارديبهشت ۹۳ ، ۱۶:۰۵ ۱ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

reCAPTCHA چیست؟

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

کاربران بطور متوسط در هر روز ۲۰۰ میلیون بار به سوالات CAPTCHA در اینترنت پاسخ میدهند که در هر مورد کمتر از چند ثانیه زمان کاربر صرف میشود. در نگاه اول این زمان چشمگیر نخواهد بود ولی با توجه به تعداد بالای آن زمانی معادل ۱۵۰۰۰۰ ساعت کار در روز برای پاسخ گویی به سوالات CAPTCHA هدر میشود. چه راهی برای استفاده مفیدتر از این زمان و جلوگیری از هدر رفتن بخشی از آن بنظر شما میرسد؟ reCAPTCHA با ایده ای خلاقانه برای تبدیل این وقت و انرژی به کتاب های دیجیتالی و استفاده مفید از این منبع رایگان شکل گرفت.

تفاوت CAPTCHA و reCAPTCHA

برای دسترسی بهتر به اطلاعات و

ادامه مطلب...
۰۱ ارديبهشت ۹۳ ، ۰۹:۰۶ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

تفاوت url rewriting و url routing در asp.net

url mapping

url های با معنا و تمیز یکی از مزایای یک وب سایت خوب است.

بعنوان مثال آدرس زیر را در نظر بگیرید که یک صفحه که یک گروه خاص از محصولات را نشان می دهد:

 http://www.mysite.com/products.aspx?category=software

با استفاده از  url mapping در ASP.NET  می توان برنامه را طوری پیکربندی نمود که به جای URL فوق URL زیر را بپذیرد.

 http://www.mysite.com/products/software

در ASP.NET  دو   ماژول برای تغییر آدرسها  وجود دارند :

  • IIS URL Rewriting
  • ASP.NET Routing

 

IIS URL Rewriting

هنگامی که از طرف یک کلاینت آدرس خاصی از وب سرور تقاضا می شود url rewrite آدرس را آنالیز کرده و به آدرس دیگه ای در همان سرور منتقل می کند این پروسه در مراحل ابتدایی چرخه پاسخگویی به درخواست شروع می شود :(در تصویر زیر این موضوع رو می تونید ببینید )

 

ASP.NET Routing

ادامه مطلب...
۲۸ فروردين ۹۳ ، ۱۲:۴۸ ۲ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

فراداده یا metadata

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

در بهترین حالت، متا دیتا می تواند برای شرح ساختارهای اطلاعاتی مثل استانداردهای تکنیکی و سیاستهای ارتباطی (میانجی) که بر ارتباطات تفوق دارند، بکار گرفته شوند. e-GIF به متادیتاهای خاصی که به یافتن منابع و مدیریت اسناد اهمیت می دهد و آن تعداد از عناصری که برای مدیریت اداری اطلاعات و بازیابی موفق نیاز است

متا دیتای نگهداری اسناد چیست؟

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

چرا متادیتای نگهداری اسناد مهم است؟

علت تهیه متادیای نگهداری اسناد و ایجاد استاندارد برای آن» این است که:

-    دولت مدرن برای استفاده بهتر از اطلاعات اداری ، سیستمها و سیاستها و همچنین سرویسهایی که برای رفع نیاز شهروندان طراحی شده است را بهم پیوند دهد.

-         استاندارد کردن سیستمهای اطلاعاتی دولتی به نحوی که از پرتال مرکزی به راحتی قابل دسترسی باشند.

-    سیستمهای جدید برای کنترل و بررسی اسناد الکترونیکی درست شده اند. اسناد اداری در قالبهای کاغذی ذخیره سازی نخواهند شد.

-    متادیتا مدیریت و یافتن اطلاعات را تسهیل می کند( اطلاعات در اشکال صفحات وب، اسناد الکترونیکی، فایلهای کاغذی و یا صفحه گستر)

فراداده ( متادیتا) در ایجاد داده مؤثر است لذا بنحوی ساخته می شود که سازگار با کلیت سازمان باشد

۰۸ فروردين ۹۳ ، ۲۲:۲۳ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی