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

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

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

ساخت Transaction در سی شارپ

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

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

در مطالب گذشته نحوه اجرای Transaction را در اسکیوال بیان کردم، خوب بسیاری از مزایای این کار بیان شد حال همین موارد را می توانیم در سی شارپ پیاده سازی نماییم، بدون توضیحات اضافی مثالی را بررسی می کنیم:

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

آموزش PIVOT در SQL Server

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

آموزش SQL Server

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


SELECT [shiraz],[tehran]
FROM
(
SELECT [name]
      ,[salary]
  FROM [emp]
) AS TEMP
PIVOT
(

SUM(salary) FOR [name] IN ([shiraz],[tehran])
)AS PVT

و در نهایت خروجی دستور

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

همگام و ناهمگام در SQL

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

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

در این بخش می خواهیم در خصوص نحوه و شیوه های اجرای دستورات در اسکیوال مباحثی را معرفی کنیم. همان طور که شما می دانید در زبان های مختلف برنامه نویسی در خصوص نحوه اجرای دستورات دو روش اصلی Synchronize و  ASynchronize وجود دارد. در روش Synchronize تا اتمام دستورات نرم افزار شما عملا متوقف شده و به اصطلاح Lock می شود خوب وقتی این اتفاق برای ثبت یک رکورد باشد هیچوقت محسوس نیست اما فکر کنید این فرایند برای ثبت تعداد زیادی رکورد اتفاق بیافتد در این حالت سایر پردازش های نرم افزار شما باید منتظر بمانند تا فرایند کار با اسکیوال به پایان برسد!

در روش دوم  ASynchronize، پردازش های اسکیوال شما همراه با سایر پردازش های نرم افزار شما همزمان انجام خواهد شد.

مثال:

برای دانلود مثال لطفا کلیک کنید
عنوان: ASynchronize
حجم: 1.05 کیلوبایت

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

چطور سرعت واکشی اطلاعات را افزایش دهیم؟

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

 آموزش SQL Server

در بسیاری از پروژه ها به دلیل حجم پایین اطلاعات و تراکنش اندک در RW کردن اطلاعات هیچ نیازی به بهینه سازی اطلاعات نیست، اماممکن است شما هم مثل بنده بخواهید پایگاه داده ای را طراحی کنید که سرعت واکشی بسیار مهم باشد.

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

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

معرفی دو DataType در SQL

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

آموزش SQL Server

Timestamp

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

خوب بعضی ها اولین راه را انتخاب می کنند یعنی هر عملیات CUD را بروی جدول شماره یک اگر صورت گرفت بر روی جدول شماره دو نیز همان کار را تکرار می کنند، خوب است.

خوب راه دیگر استفاده از فیلد TimeStamp است که مقدار باینری را در خود نگه می دارد، در صورتی که مقدار رکورد عوض شود مقدار باینری این فیلد نیز عوض خواهد شد

پس اگر بخواهید متوجه شوید که مثلا بر روی رکورد شما توسط کاربر تغییری صورت گرفته می توان با مشاهده مقدار این فیلد، به این جواب برسید مثال:

 

TimeStamp

 

 

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

آموزش SQL Transaction

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

آموزش SQL Transaction

در این بخش قصد دارم مدیریت تراکنش های اسکیوال را به صورت مختصر توضیح دهم

توسط متغییر Global، @@Error می توانیم شماره خطا را بازیابی نماییم اگر خطایی داشته باشیم مقدار این متغییر از صفر بزرگتر است در غیر این صورت مقدار آن صفر است و در صورتی که از این متغییر استفاده کنیم مجددا مقدار این متغییر صفر می گردد

همچنین جهت خواندن شماره خطا می توانیم از Error_Number() استفاده کنیم و جهت چاپ متن خطا از Error_Message استفاده می کنیم

جهت ایجاد یک خطا به صورت دستی می توانیم از RAISERROR استفاده کنیم

مثال


    RAISERROR('خطایی رخ داده است',16,1)

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

عدد 16 محدوده خطا را مشخص می کند بهتر است همیشه از این عدد استفاده کند چون این عدد خطای ایجاد شده را به برنامه ی شما (مثلا سی شارپ) نیز ارسال می کند.

کاربرد این دستور برای مواردی است که شما می خواهید در صورت برقرار نشدن یک شرط دستورات خاتمه یابد مثلا برای جلوگیری از درج یک رکورد جدید در جدول کاربران با نام کاربری که قبلا ثبت شده است.

در مواردی که شما می خواهید در یک تراکنش تنها بخشی را خاتمه دهید ولی تراکنش همچنان ادامه داشته باشد کافی است که شما از دستور Save Point استفاده نمایید

مثال


BEGIN TRAN PARRNT
            INSERT INTO USERS(userName,[password]) VALUES ('A','A')
            PRINT 'INSERTED A'
                              BEGIN TRY
                                          SAVE TRAN INSERT_PART  
                                       RAISERROR ('خطایی رخ داده است',16,1)
                                                INSERT INTO USERS(userName,[password]) VALUES ('B','B')   
                                            PRINT 'INSERTED B'
                              END TRY
                              BEGIN CATCH
                                          ROLLBACK TRAN INSERT_PART
                              END CATCH
            INSERT INTO USERS(userName,[password]) VALUES ('C','C')
            PRINT 'INSERTED C'
COMMIT TRAN PARENT

 

SavePoint

آموزش Constraint

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

آموزش SQL Server

در هر پایگاه داده ای که طراحی می شود وابسته به این که این سیستم برای چه محیطی طراحی شده است محدودیت ها و قید و شرطهایی مطرح می شود. مثلا قصد داریم برای یک شرکت تجاری پایگاه داده ای طراحی کنیم و پرسنل این شرکت در هیچ شرایطی در خصوص شروع اضافه کاری نباید ساعات بین 22 الی 6 صبح باشد. راه حل های ساده ای وجود دارد و معمولا اکثر برنامه نویسان این وظیفه را به جای طراحان انجام می دهند و طبیعتا این کار را در Application مورد نظر نوشته می شود خوب راه حل دیگر این است که ما به عنوان طراح این کار را در پایگاه داده انجام دهیم و کمکی به همکار برنامه نویسمان کنیم.

مثال

 

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

آشنایی با SQL

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

آموزش SQL Server

DataBase Engine

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

 

نرم افزار SQL Server Business Intellgince

به صورت مختصر و مفید باید گفت برنامه ای است که توانایی اجرای دستورات C# را در اسکیوال دارد.

 

SSMS

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

خوب سعی کردم تمام این مطالب را کمی مختصر مطرح کنم تا برسیم سراغ بحث اصلی خودمان، در بعضی ممکن است شما بخواهید بر روی یک سیستم کارها و دستورات اسکیوال را اجرا کنید ولی به دلیل محدودیت هایی نمی توانید اسکیوال سرور را به صورت کامل نصب کنید تا از بخش های مدیریت آن استفاده کنید، خوب راه حل ؟

شما کافی است از نرم افزار کوچکی به نام SQL Comand در Command line استفاده کنید

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

Binding and Behavior

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

آموزش WCF

Binding

 یک تعریف ساده برای Binding توصیف می کند چطور کلاینت با سرویس ارتباط بر قرار خواهد کرد. این مطلب را می توانیم با یک مثال متوجه شویم. این سناریو را در نظر بگیرید، می خواهیم سرویسی را بسازیم که دو نوع مختلف از کلاینت می بایست به آن متصل شوند. یکی از کلاینت ها می بایست به صورت SOAP و با استفاده از http و کلاینت دیگر به صورت Binary و از طریق TCP متصل خواهد شد. این کار چطور می تواند صورت پذیرد؟ با وب سرویس که خیلی سخت خواهد بود، اما در WCF فقط کافی است یک Endpoint ویژه به فایل پیکربندی اضافه کنیم.



<system.serviceModel>
    <services>
      <service name="MathService"
        behaviorConfiguration="MathServiceBehavior">
      <endpoint address="http://localhost:8090/MyService/MathService.svc"
        contract="IMathService"
          binding="wsHttpBinding"/>
<endpoint address="net.tcp://localhost:8080/MyService/MathService.svc"
contract="IMathService"
          binding="netTcpBinding"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MathServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

 

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

بخش های یک EndPoint

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

آموزش WCF

End Point

سرویس WCF یک برنامه است که یک مجموعه از End Point را ارائه می دهد. هر End Point یک پرتال است که ارتباط را با دنیا را برقرار می کند.

همه ارتباطات WCF از طریق بستر End Point ایجاد می شود. End point شامل سه بخش می باشد.

Address

درواقعURL ، جایی که این سرویس WCF هاست شده است را مشخص می کند. کلاینت از این آدرس جهت برقراری ارتباط با سرویس استفاده خواهد کرد. مثال:

http://localhost:8090/MyService/SimpleCalculator.svc

Binding

توصیف می کند که کلاینت چطور با این سرویس ارتباط برقرار خواهد کرد. پروتکل های متفاوتی برای برقرار کردن ارتباط با کلانیت وجود دارد. شما میتوانید ذکر کنید پروتکل خود را بر اساس نیازی که دارید.

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

مفاهیم اصلی WCF

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

آموزش WCFx

پس از بررسی بخش های ابتدایی و معرفی WCF قصد داریم با مفاهیم زیر آشنا شویم

در این بخش مفاهیم اصلی WCF را آموزش خواهم داد.

  • End Point
  • Bindings and Behavior
  • Contracts and Service host
  • Message and Channel
  • WCF client and Metadata

تفاوت بین WCF و وب سرویس

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

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

Features

وب سرویس

WCF

Hosting

می تواند در IIS  هاست شود

می تواند در IIS  ,

windows activation service, Self-hosting, Windows service

هاست شود

Programming

خصوصیت [WebService] باید به کلاس اضافه شود

خصوصیت [ServiceContract] باید به کلاس اضافه شود

Model

خصوصیت[WebMethod]  باید به متدی که میخواهید در کلاینت ظاهر شود اضافه شود

خصوصیت[OperationContract]  باید به متدی که میخواهید در کلاینت ظاهر شود اضافه شود

Operation

یک طرفه، Request- Response متفاوت پشتیبانی می شود

One-Way, Request-Response, Duplex متفاوت پشتیبانی می شود

XML

نام name space برای سریالایز کردن  System.Xml.serialization است

نام name space برای سریالایز کردن  System.Runtime.Serialization است

Encoding

XML 1.0, MTOM(Message Transmission Optimization Mechanism), DIME, Custom

XML 1.0, MTOM, Binary, Custom

Transports

قابلیت دسترسی از طریق

HTTP, TCP, Custom

قابلیت دسترسی از طریق

 HTTP, TCP, Named pipes, MSMQ,P2P, Custom

Protocols

Security

Security, Reliable messaging, Transactions

 

 

ابزار توسعه WCF

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

آموزش WCFx

برنامه های WCF می توانند با Microsoft Visual Studio توسعه داده شوند همچنین Microsoft برنامه داخلی را توسعه و تست نرم افزار های تولید شده WCF ایجاد کرده است که این نرم افزار با استفاده از دستور wcfClient Serviceurl قابل دستیابی است. این نرم افزار به شما این امکان را می دهد که سرویس خود را قبل از ساختن کلاینت تست نمایید.

wcftestclient

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

مزایا و معایب WCF

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

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

معرفی WCF

Windows Communication Foundation یک پلتفرم برنامه نویسی و سیستم بلادرنگ برای ساختن، توسعه و پیکربندی سرویس های شبکه های توزیع شده است. کد این روش را آبی نیلی می نامند شاید دانستنش برای شما هم جالب باشد.

این روش آخرین روش در تکنولوژی سرویس گرا (Service oriented) و به احتمال زیاد اساس خصوصیت WCF می باشد، البته روش Web Api از این روش بسیار جدیدتر است یعنی در این زمان که درحال آموزش WCF هستیم Web Api  در MVC 4 معرفی شده و بسیار روش جدیدی می باشد که من قبل از پرداختن به آموزش WCF، روش Web Api را نیز معرفی و آموزش داده ام.

این مدل برنامه نویسی یکپارچه فراهم شد در Net Framework 3.0. WCF ترکیب شده از ویژگی های Web Service, Remoting, MSMQ and COM+ می باشد. WCF یک پلتفرم مشترک برای همه ارتباطات NET. فراهم می کند.

 

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

دوره آموزشی WCF

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

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

قصد دارم مباحث WCF را به صورت کامل توضیح دهم، البته ممکن است در مباحث تئوری توضیحات گیج کننده به نظر برسد و دقیقا متوجه نشوید لطفا صبور باشید و مباحث را ادامه دهید.

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

در این دوره مفاهیم و نحوه ساختن service وسایر ویژگی های WCF را معرفی کنم. WCF برای شبکه های بزرگ توزیع شده می باشد که توسط مایکروسافت برای ارتباط بین Application ها ایجاد شده است. WCF مخفف عبارت windows communication foundation می باشد، در این بخش تفاوت بین Service و WCF را آموزش خواهم داد.

 

انشالله که مفید واقع شود

یا علی

آموزش Transaction

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

آموزش Transaction

 مورد فایل LDF قبلا توضیحاتی ارائه گردید همان طور که قبلا ذکر کردیم نام این فایل Transaction DataBase File می باشد و وظیفه آن ذخیره دستورات برای اجرای کامل آنها در صورت ایجاد مشکل می باشد.

برای استفاده هوشمندانه از این ویژگی می بایست به صورت زیر عمل کنیم:

BEGIN TRAN T1
SELECT * FROM Account
COMMIT TRAN T1

 

BEGIN TRAN T1

این دستور باعث می شود خطوط بعدی در رم ذخیره شود.

COMMIT TRAN T1

باعث می شود کل دستورات در فایل ذخیره می شود.

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

معرفی فایلهای SQL

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

آموزش SQL Server

هر بانک اطلاعاتی از سه فایل تشکیل می شود:

(Master DataBase File) MDF:  فایل اصلی SQL می باشد که تمامی جداول، رکوردها، توابع برنامه نویسی را ذخیره می کند. تمامی فایلها در SQL به قطعه های مساوی 8K تقسیم می شوند که به آنها DataPage گفته می شود هر DataPage تنها اطلاعات یک جدول را نگه داری می کند در صورت ایجاد جدول جدید اطلاعات در اولین DataPage خالی ثبت می شود. در صورتی که DataPage خالی دیگر موجود نباشد از تکنیک File Growth استفاده می شود.

 

(Transaction DataBase File) LDF: تمامی عملیات هایی که سبب تغییر در پایگاه داده می شود در این فایل ذخیره می شود مثلا Bacth Command ها (به دستوراتی که با هم اجرا می شوند. در واقع در SQL دستورات ابتدا در فایل ذخیره می شود تا در صورتShutDown  یا Crash کردن سرور اطلاعات را پس از راه اندازی بازیابی کند و دستورات به اتمام نرسیده را بازیابی کرده و پایگاه داده را به حالت اولیه بر می گرداند.

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

آموزش Cursor در SQL Sever

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

آموزش Cursor در SQL Sever

در بسیاری مواقع شما نیاز دارید اطلاعات را به صورت رکورد به رکورد بررسی کنید، اولین راه حل ایجاد یک برنامه است اما اگر بخواهیم این کار را در SQL انجام دهیم چطور؟ همانطور که مشخص است دستور SELECT این کار را برای ما انجام می دهد با این تفاوت که نمی توانیم تک تک رکوردها را بررسی کنیم بلکه خروجی دستور SELECT یک ResualtSet یا در واقع یک Dataset است.

دستور Cursor  می تواند خروجی دستور SELECT را در حافظه نگه دارد و تک تک آنها را بررسی کند.

مثال

@id uniqueidentifier,
@userName varchar(20),
@password varchar(20)

DECLARE AccountRows CURSOR FOR SELECT id,userName,password FROM Account

AccountRows متغییری از جنس CURSOR تعریف کردیم تا اطلاعات را در خود ذخیره کند.

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

آموزش MaintenancePlan

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

آموزش MaintenancePlan در SQL Server

در این بخش قصد دارم بخشی را با عنوان Maintenance plan که یکی از قابلیت های SQL server  می باشد معرفی کنم. شما با استفاده از این قابلیت می توانید یک برنامه یا همان plan را تعرفی نمایید و سپس می توانید این plan را در بازه های زمانی مشخص اجرا نمایید و به عنوان یک Job درSQL معرفی نمایید.

سعی می کنم با یک مثال ساده این قضیه را روشن تر کنم. برای این کار من قصد دارم یک plan برای گرفتن بک آپ به صورت روزانه از تمامی دیتابیس ها ایجاد کنم.

در بخش Maintenance plan کلیک راست کنید و بر روی گزینه New Maintenance plan کلیک نمایید و در پنجره باز شده یک نام انتخاب کنید.

در بالای  پنجره Maintenance plan  بر روی گزینه Subplan Schedule  کلیک نمایید و در پنجره باز شده پارامترهای اجرا برنامه و زمان بندی را مطابق انچه نیاز دارید تنظیم نمایید در این جا ما می خواهیم برنامه ما هر روز در یک ساعت مشخص و بدون محدودیت برای همیشه اجرا شود حال پنجره را Ok کنید.

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

معرفی ابزار های Net.

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

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

در ابن بخش چند ابزار کارا را به صورت مختصر معرفی کردم انشالله که برای دوستان مفید واقع شود

Infragistics NetAdvantage for ASP.NET MVC

مجموعه کامل از کنترلهایی ساده و زیبا و پر کاربرد که برای پدید آوردن یک برنامه کاربردی تحت وب مبتنی بر ASP.NET MVC نیاز دارید.

البته نسخه رایگان را در زمان نوشتن مطلب وجود ندارد!

ComponentArt UI Framework 2012

مجموعه ComponentArt UI Framework 2012.1.1016.0 جدیدترین ورژن ComponentArt برای داشتن ظاهری زیبا در برنامه هاست.

مجموعه ی ارزشمند ComponentArt UI Framework 2012.1.1016.0 شامل :

  •     WebUi for asp.net ajax
  •     WebUi for asp.net mvc
  •     WebUi for silverlight
  •     WinUi for wpf
  •     SoaUi for .net

Aspose.NET Components 

مجموعه کامپوننت های قوی شرکت Aspose . با نام Aspose.NET Components را برای طراحان وب و برنامه نویسان ویژوال استدیو و عاشقان زبان های برنامه نویسی ارائه کنیم.

 

این کامپوننت شامل:

  • Aspose.Cells for .NET
  • Aspose.Chart
  • Aspose.Flash
  • Aspose.Pdf.Kit.5.0.0
  • Aspose.Recognition
  • Aspose.Slides for .NET
  • Aspose.Words for .NET

ComponentOne Studio Ultimate 2012 v2 + Enterprise 2012 v2


ComponentOne Studio Ultimate 2012
 هفت برنامه بنیادی ، صدها مورد تحت کنترل ، همه و همه تحت یک استودیوی بی نظیر با نام ComponentOne Studio Ultimate  جمع آوری شده اند. توسط این مجموعه بی نظیر شما می توانید نرم افزارهایی برای محیط دسکتاپ ، وب و موبایل که کاربرد در زمینه های WinForms, WPF, ASP.NET, Silverlight, iPhone, Mobile و ActiveX دارند را ایجاد کنید. این مجموعه به شما تکنولوژی لازم که برای جذب هر کاربر با هر سلیقه ای نیاز دارید را در اختیار شما قرار می دهد. تمامی نرم افزارهای این مجموعه به روز شده هستند و تحت Net Framework 4.0 قابل اجرا هستند.

کامپوننت های NetAdvantage Ultimate 2012 Volume 2 

آموزش کامپوننت های Infragistics NetAdvantage

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