<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Ali Majidi</title>
        <link>https://virgool.io/feed/@webchii</link>
        <description>مرسی از خالق یکتا که مرا آفرید ، خانواده خوب ، عشق پاک و بهترین بانوی دنیا را بهم داد . برنامه نویسی و طراحی وب یک کار خلاقانه است به ادما انگیزه میده باعث میشه رشد کنن .</description>
        <language>fa</language>
        <pubDate>2026-04-15 10:25:48</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/782726/avatar/M5RCjr.jpg?height=120&amp;width=120</url>
            <title>Ali Majidi</title>
            <link>https://virgool.io/@webchii</link>
        </image>

                    <item>
                <title>RabbitMQ [ use in asp.net core ]</title>
                <link>https://virgool.io/@webchii/rabbitmq-use-in-aspnet-core-nbictihjtbzc</link>
                <description>خب همانطور که میدانید سرویس ها و اپلیکیشن ها مانند ما انسان ها با یکدیگر صحبت می کنند و در دنیای الکترونیک این ارتباط را Message Broker ها برای سرویس ها و اپلیکیشن ها فراهم می کنند.یکی از این Message Broker ها که محبوب دل برنامه نویس های دات نتی هم هست Rabbit MQ می باشد. راحتی در پیاده سازی ، امکانات فراوان جهت مدیریت پیام ها ( ایجاد صف ، نگهداری پیام ها بر روی دیسک و ... )  و همچنین محیط گرافیکی مدیریتی از جمله امکاناتی که این Message Broker در اختیار ما قرار میده. با زبان Erlang توسعه داده شده است و از پرتکل های مختلفی پشتیبانی می کند که ما در اینجا با پرتکل AMQP سرکار داریم. همچنین پیام بصورت باینری بین سرویس ها جا به جا می شود.اما پرتکل AMQP ;برای اینکه ما با این پرتکل کار کنیم و بتونیم بین سیستم هامون ارتباط ایجاد کنیم و پیام رسانی را انجام بدیم نیازمند این هستیم که Entity های مهم سیستم بشناسیم.1- Producer : همون اپلیکیشن یا سرویسی هست که پیام را ایجاد می کند.2- Exchange : عملا اداره پست ما هست ، وظیفه اش اینه که بر اساس نوعی که داره و کلید ارتباطی پیام را به صف مربوطه برسونه و انواع مختلفی داره که در ادامه اشاره خواهیم کرد..3- Queue : صف ، پیام ها از طریق Exchange به یک یا چند صف ارسال می شوند و صف ها بر اساس کانفیگ یا تنظیماتی که براشون در نظر گرفتیم با متصل شدن به استفاده کننده یا همون Consumer پیام را بدستشون میرسونن4- Consumer : استفاده کننده پیام هست که پیام را از صف دریافت می کنه و میتونه در جواب دریافت پیام پاسخی را نیز به همون صف و تولید کننده پیام برسونهدر لینک زیر نمونه هایی از RabbitMQ پیاده سازی شده که در ادامه مقالات بیشتر شرح میدیم و شما در پایان می بینید که این سرویس جذاب چطور به کمکتون میاد تا بتونید ارتباط پیام رسانی میان سرویس هاتون را پیاده سازی کنید:https://github.com/incodity-ir/RabbitMQSamplesدر آخر ممنون از وقتی که گذاشتین و مطالعه کردین :)</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Sun, 15 Sep 2024 21:03:39 +0330</pubDate>
            </item>
                    <item>
                <title>HTTP Error 500.19 - internal server error when you open an IIS Webpage</title>
                <link>https://virgool.io/@webchii/http-error-50019-internal-server-error-when-you-open-an-iis-webpage-um0g9qapomf9</link>
                <description>شاید شما هم پس از بارگذاری اطلاعات وب بر روی IIS به چنین خطایی برخورد کنید ؟اما علت چیست ؟ چگونه می توان خطا را برطرف نمود؟
در پاسخ باید خدمت شما برنامه نویس عزیز عرض کنم که علت های متفاوتی باعث به وجود آمدن این خطا می شود که شرکت مایکروسافت بصورت کامل لیستی از این خطا ها را منتشر کرده است. در این پست ما به رایج ترین کد این خطا :
 Error Code : 0x80070005
بپردازیم.
اگر متن این  خطا در موتور جست و جو گر گوگل سرچ کنید نتایج بسیاری به شما نشان داده خواهد شد که برخی به فایل web.config برنامه شما اشاره می کند، اماباتوجه به تحقیقات من در خصوص این خطا ، این خطا زمانی رخ می دهد که گروه IIS_IUSRS دسترسی کامل به فایل application.config یا web.config را ندارند.اما راه حل چیست ؟مراحل زیر را دنبال کنید .iis را باز کنید.- سپس در قسمت Site : بر روی نام وب خود کلیک کنید.- پس از باز شدن صفحه بر روی گزینه Explore کلیک تا پوشه اطلاعات وب باز شود.سپس در فضای پوشه کلیک راست کرده و بر روی گزینه Properties کلیک کرده و در تب Security گزینه Edit را بزنید.در گام بعدی بر روی گزینه Add کلیک کنید.در قسمت  Enter the object names to select عبارت : Authenticated Users را تایپ کنید و بر روی Check Names بزنید.پس از ان بر روی گزینه ok کلیک کرده و در مرحله بعد full contorl را به این یوزر داده و ok کنید.پس از طی نمودن مراحل بالا مشکل برطرف خواهد شد.راستی لینک خطا ها در سایت مایکروسافت :لینک ممنون از اینکه وقت گذاشتین و این پست را مطالعه کردید.</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Sat, 30 Jul 2022 18:07:33 +0430</pubDate>
            </item>
                    <item>
                <title>ارتباط با دیتابیس از طریق Ado.net</title>
                <link>https://virgool.io/@webchii/%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A8%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-adonet-ztil6jzxvzms</link>
                <description>تو این دوران همه جهت ارتباط با دیتابیس از Code First و Entity Framework استفاده می کنند دونستن ارتباط با دیتابیس از طریق Ado.net خالی از لطف نیست البته این نکته هم شایان ذکر که خیلی از برنامه های قدیمی از طریق Ado.net به دیتابیس وصل میشدن { این قبل از این بود که ظرف عسل Code First و Entity Framework به دهن برنامه نویسا شیرین بیاد } ، اما این همه مقدمه چینی یکمم کدهاشو مرور کنیم ، جهت اتصال به دیتابیس از طریق Ado.net ;SqlConnection  نام دلخواه کانکشن = new SqlConnection();البته موضوعی که پیش میاد اینه که شما برای استفاده از این کلاس باید حتما در بالای فرمتون using System.Data.SqlClient;استفاده کرده باشین.اما خب این خط کد بازهم جای کار داره ، خلاصه کنم باید صفر تا صد ارتباط با دیتابیس خودتون بهش بدین مثلا من در Sql Server یک دیتابیسی دارم به نام ManageSch جهت ایجاد ارتباط ;SqlConnection connection = new SqlConnection (&amp;quotDataSource =.; Initial Catalog= ManageSch; Integrated Security = true;&amp;quot);SqlConnection.Open();SqlConnection.Close();دستورات Sql خود را باید میان دو خط دستوری open  و Close بنویسید.برای نوشتن دستوراتی که میخواهید به سمت Sql ارسال کنید دو نوع دستور داریم اگر میخواهید دستور عملیاتی همچون ثبت و حذف و غیره انجام دهد باید از حالت ExecuteNonQuery و اگر حالت هایی همچون سرچ یا فراخوانی خواندن از دیتابیس مد نظر است از حالت ExecuteReader باید استفاده نمایید که در جلسات بعدی آموزش پیاده سازی آن ها را نیز اشاره خواهیم نمود.</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Sun, 03 Oct 2021 12:06:17 +0330</pubDate>
            </item>
                    <item>
                <title>جای این تابع در زندگی خالی است ...</title>
                <link>https://virgool.io/@webchii/%D8%AC%D8%A7%DB%8C-%D8%A7%DB%8C%D9%86-%D8%AA%D8%A7%D8%A8%D8%B9-%D8%AF%D8%B1-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D8%AE%D8%A7%D9%84%DB%8C-%D8%A7%D8%B3%D8%AA-iq8udhdk8jrq</link>
                <description>ی تابع باید نوشت تو دیتابیس زندگی ; if ( TimeOfLife == Sad )
 { 
MesseBox.Show(&amp;quotاز زندگی لذت ببر و شاد باش&amp;quot,&amp;quotخطا&amp;quot,MessegeBoxButton.Ok,MessegeBoxIcon.Error);

return;

}
همچنین فک کنم یک شرط دیگم باید بذاریم ;if(TimeOfLife == Laugh )
{

MessegeBox.Show(&amp;quotبرو جلو موفق می شی رفیق&amp;quot,&amp;quotعالیه&amp;quot,MessegeBoxButton.Ok,MessegeBoxIcon.Information);

}
</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Sun, 03 Oct 2021 00:54:59 +0330</pubDate>
            </item>
                    <item>
                <title>دستور Select در SQL SERVER</title>
                <link>https://virgool.io/@webchii/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-select-%D8%AF%D8%B1-sql-server-noo5wexbjkdx</link>
                <description>برای گزارش گیری از داده های یک جدول در SQL Server می توان از دستور :select * from [TableName]استفاده نمود . دقت کنید با تایپ این دستور کلیه داده های جدول خروجی گرفته شده و به شما نمایش داده می شود.</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Sun, 26 Sep 2021 01:25:11 +0330</pubDate>
            </item>
                    <item>
                <title>دستور Update در SQL Server</title>
                <link>https://virgool.io/@webchii/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-update-%D8%AF%D8%B1-sql-server-ze1nhqjep59m</link>
                <description>در پست قبل در خصوص دستور insert into بمنظور وارد نمودن داده در جدول مورد نظر صحبت کردیم . اما حال میخواهیم یک داده را در جدول ویرایش کنیم بدین منظور از دستور آپدیت استفاده می کنیم:Update [TableName]set [ColumnName]=مقدار داده جدیدمثال : ما میخواهیم &quot;دوازدهم&quot; را به &quot;یازدهم&quot; در جدولی که در مثال insert into آورده ایم تغییر داده و اپدیت نماییم. تایپ میکنیم :Update Majorset MajorName=N&#x27;یازدهم&#x27;اما یک موردی که در این دستور قابل توجه است این است که شما با وارد نمودن این دستور عملاً تمامی داده ها را ویرایش میکنید و خب این یک مشکل بسیار بزرگی است بدین منظور شما می توانید دستور را دقیق تر وارد نموده تا صرفاً همان سطر و داده اپدیت و ویرایش شود ;در دیتابیس ما &quot;دوازدهم&quot; دارای کلید اصلی (ID)  = 1 می باشد لذا تایپ میکنیم :Update Majorset MajorName=N&#x27;یازدهم&#x27;where ID=1where ID عملا در این دستور مشخص می کنید که ما قصد داریم کدام داده را اپدیت یا ویرایش نماییم.امیدوارم از این اموزش لذت برده باشید.</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Sat, 25 Sep 2021 09:22:37 +0330</pubDate>
            </item>
                    <item>
                <title>دستور Insert Into در SQL SERVER</title>
                <link>https://virgool.io/@webchii/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-insert-into-%D8%AF%D8%B1-sql-server-gdn05slev3wr</link>
                <description>دستور insert Into :اگر بخواهید در SQL SERVER دستوری بنویسید و یک داده به جدول خود اضافه کنید می توانید از این دستور استفاده نمایید.insert into [tablename] values()اما بریم سراغ اینکه این دستور دقیقا به چه صورت عمل می کند ، اگر بطور مثال ما یک جدول بنام Major ساخته باشیم که دو Column Name داشته باشد ;1- ID2- MajorNameData Type ID را از نوع Int قرار داده و همچنین در Properties -&gt; Identity Specification  را Yes قرار می دهیم . * Identity Specification : این گزینه ID را به حالتی قرار میدهد که بابت ورود هر داده سیستم بطور خودکار ID را تولید کند.Data Type MajorName را از نوع  nvarchar(50) قرار میدهیم.{جدول Major در قسمت Database Diagram در SQL Server Management Studio}حال میخواهیم یک پایه تحصیلی بنام دوازدهم به جدول پایه ها (Major) اضافه کنیم کافی است پس از اتصال به دیتابیس و باز کردن دیتابیس مورد نظر یک Query باز نموده و دستور زیر را تایپ کنیم :insert into [Major] values(N&#x27;دوازدهم&#x27;)چون ID را بصورت Identity Specification Yes تنظیم کرده ایم نیازی به قرار دادن در داخل Values نیست همچنین چون داده ما از نوع string می باشد حتما باید در N&#x27;&#x27; قرار گیرد.</description>
                <category>Ali Majidi</category>
                <author>Ali Majidi</author>
                <pubDate>Fri, 24 Sep 2021 23:42:07 +0330</pubDate>
            </item>
            </channel>
</rss>