fekre-bekr,learning,source,سورس,سورس رایگان,آموزش,اخبار,فناوری اطلاعات,mvc,.net,ساری,آموزشگاه,asp.net,c#.net,programing,c++,vb,آموزش برنامه نویسی,دانلود

اشتراک در سایت


مطالب تصادفی
اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش آرایه ها در سی شارپ

جهت مشاهده سوال ودانلود سورس آن لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش نحوه ایجاد Model برای دیتابیس موجود در Entity Framework Core

در این آموزش به نحوه ایجاد کلاسهای context و entity برای دیتابیس موجود در Entity Framework Core خواهیم پرداخت. ...


اخبار و مقالات در فکر بکر آشنایی با Asp.net mvc6 بصورت پروژه عملی #1

با سلام در این مقاله میخواهیم mvc6 را با یک پروژه عملی آموزش دهیم بنابراین بدون مقدمه کار را شروع میکنیم لطفا به ادامه مطلب توجه ...


اخبار و مقالات در فکر بکر پیاده سازی مسیریابی با استفاده از الگوریتم پیمایش اول سطح یا جستجوی اول سطح (BFS) در سی شارپ

الگوریتم پیمایش اول سطح یا جستجوی اول سطح (Breadth First Search - BFS) از جمله الگوریتم‌های مشهور پیمایش و جستجوی گراف است که در ...


اخبار و مقالات در فکر بکر پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش چهارم)

در این آموزش به پیاده سازی سیستم لاگین کاربران در Asp.net mvc خواهیم پرداخت. نکته ای که در اینجا حائز اهمیت است بدست آوردن نقش ...


اخبار و مقالات در فکر بکر آموزش استفاده از کلاس SeedData در Asp.net Core

در این بخش به آموزش چگونگی درج رکوردهای پیشفرض درون جداول در هنگام ایجاد دیتابیس با استفاده از روش code first در محیط Asp.net Cor ...


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

در این مقاله شما را با روش ارسال ایمیل اشنا خواهیم ساخت لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر سورس بسیار زیبا به زبان c#

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


اخبار و مقالات در فکر بکر آموزش استفاده از تابع Contains در عبارات lambda برای انواع مدلها

تابع Contains برای بررسی یک مقدار در یک مجموعه مورد استفاده قرار میگیرد اما نحوه استفاده این تابع برای مدلها نسبت به انواع اولیه ...


اخبار و مقالات در فکر بکر دانلود کتاب Entity Framework Code First Succinctly

جهت دانلود کتاب به ادامه مطلب توجه نمایید ...


اخبار و مقالات در فکر بکر آموزش استفاده از Grid mvc در Asp.net mvc

در این مقاله به آموزش نمایش داده ها با استفاده از Grid MVC با قابلیت مرتب سازی داده ها خواهیم پرداخت. ...


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

با استفاده از کامپوننت BackgroundWorker شما میتوانید به برنامه نویسی و اجرای کارهای زمانبر در یک Thread دیگر و بصورت موازی بپرداز ...


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

جهت دانلود بازی جذاب ماشین به زبان C# از فکر بکر به ادامه مطالب توجه نمایید ...


اخبار و مقالات در فکر بکر پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش اول)

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


پیوندها
5 (1)

در این آموزش به ساخت یک برنامه real-time با استفاده از SignalR در Asp.net core 2.1 خواهیم پرداخت.
گروه : Asp.net Core
تاریخ انتشار: 1397/04/01

فکر بکر

در این آموزش به ساخت یک برنامه چت بصورت real-time با استفاده از SignalR در Asp.net core 2.1 خواهسم پرداخت.

مواردیکه که در این آموزش مورد بحث قرار خواهند گرفت شامل گزینه های زیر می باشد.

  1. نحوه ایجاد پروزه مبتنی بر SignalR در Asp.net Core 2.1
  2. ایجاد SignalR hub جهت ارتباط بین client و server
  3. پیکربندی کلاس sturtup.cs

 قبل از شروع آموزش نیاز به نصب و بروزرسانی برنامه های مورد نیاز در این اموزش دارید که شامل موارد زیر می باشد.

 برای شروع یک پروژه بنام SignalRChat با توجه به شکل زیر ایجاد نمایید.

signalRproject

signalr project 02

در محیط visual studio کتابخانه های مورد نیاز سمت سرور با استفاده از Microsoft.AspNetCore.SignalR در قالب پروژه ای که بصورت ASP.NET Core Web Application ایجاد کردیم موجود می باشد لذا برای نصب کتابخانه های جاوااسکریپت SignalR کلاینت از طریق npm عملیات نصب را انجام می دهیم.

بنا براین از قسمت Package Manager Console دستورات زیر را اجرا کنید.


npm init -y
npm install @aspnet/signalr

پوشه ای بنام signalr درون پوشه lib ایجاد نمایید سپس فایل signalr.js را از مسیر  node_modules\@aspnet\signalr\dist\browser  کپی نمایید و درون پوشه signalr قرار دهید.

اکنون یک پوشه بنام Hubs ایجاد میکنیم و درون آن کلاسی بنام CahtHub که از کلاس Microsoft.AspNetCore.SignalR.Hub ارث بری میکنید ، بصورت زیر ایجاد کنید.


using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;

namespace SignalRChat.Hubs
{
    public class ChatHub : Hub
    {
        public async Task SendMessage(string user, string message)
        {
            await Clients.All.SendAsync("ReceiveMessage", user,message);
        }
    }
}

در این برنامه هدفمان ارسال پیام بصورت بلادرنگ به تمامی کلاینتهای متصل به سرور می باشد.که این عمل توسط تابع SendMessage انجام میگیرد.

اکنون وقت آن رسیده است تا به پیکربندی کلاس startup.cs برای اتصالات به SignalR و مدیریت Rout آن در این کلاس بپردازیم.لذا محتویات توابع ConfigureServices و Configure را بصورت زیر ویرایش نمایید.

  public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            services.AddCors(options => options.AddPolicy("CorsPolicy",
           builder =>
           {
               builder.AllowAnyMethod().AllowAnyHeader()
                      .WithOrigins("http://localhost:55830")
                      .AllowCredentials();
           }));

            services.AddSignalR();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();
            app.UseCors("CorsPolicy");
            app.UseSignalR(routes =>
            {
                routes.MapHub<ChatHub>("/chathub");
            });

            app.UseMvc();
        }

برای ایجاد کدهای جاوااسکریپت client یک فایل با نام chat.js درون مسیر wwwroot\js ایجاد نمایید و محتویات آنرا بصورت زیر ویرایش کنید.

// The following sample code uses modern ECMAScript 6 features 
const connection = new signalR.HubConnectionBuilder()
    .withUrl("/chatHub")
    .build();

connection.on("ReceiveMessage", (user, message) => {
    const msg = message.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
    const encodedMsg = user + " says " + msg;
    const li = document.createElement("li");
    li.textContent = encodedMsg;
    document.getElementById("messagesList").appendChild(li);
});

connection.start().catch(err => console.error(err.toString()));

document.getElementById("sendButton").addEventListener("click", event => {
    const user = document.getElementById("userInput").value;
    const message = document.getElementById("messageInput").value;
    connection.invoke("SendMessage", user, message).catch(err => console.error(err.toString()));
    event.preventDefault();
});

سپس فایل index.cshtml که درون پوشه pages قرار دارد را بصورت زیر ویرایش کنید.

@page
    <div class="container">
        <div class="row">&nbsp;</div>
        <div class="row">
            <div class="col-6">&nbsp;</div>
            <div class="col-6">
                User..........<input type="text" id="userInput" />
                <br />
                Message...<input type="text" id="messageInput" />
                <input type="button" id="sendButton" value="Send Message" />
            </div>
        </div>
        <div class="row">
            <div class="col-12">
                <hr />
            </div>
        </div>
        <div class="row">
            <div class="col-6">&nbsp;</div>
            <div class="col-6">
                <ul id="messagesList"></ul>
            </div>
        </div>
    </div>
    <script src="~/lib/signalr/signalr.js"></script>    
    <script src="~/js/chat.js"></script>
    @*<script src="~/js/es5-chat.js"></script>*@

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

signalr chat

شما اولین نفری باشید که نظر میدهید

10k7if

آموزش پیاده سازی UnitOfWork در Asp.net Core قسمت اول -------- پیاده سازی Repository Pattern بصورت Generic Class -------- وارد کردن فقط حروف فارسی و جلوگیری از ورود حروف فارسی در تکست باکس با استفاده از JQuery -------- سورس استفاده از کامپوننت Roxy File manager در Asp.net core -------- آموزش ساخت صفحه Page Not Found (404) در Aspnet core -------- آموزش ایجاد Tag Helper سفارشی در Asp.net core -------- آموزش نحوه ایجاد Model برای دیتابیس موجود در Entity Framework Core -------- آموزش نحوه Upload و Download در Asp.net core 2 -------- آموزش dependency injection در Asp.net core 2 -------- آموزش تحت شبکه کردن برنامه های مبتنی بر c# در sql server -------- آموزش استفاده از Bundler & Minifier در Asp.Net Core -------- مروری بر Identity در Asp.net core2.1 (بخش دوم) -------- مروری بر Identity در Asp.net core2.1 (بخش اول) -------- آموزش مبحث Single Responsibility Principle (SRP) از بخش اصول طراحی شی گرا (SOLID) -------- آموزش publish کردن برنامه های Asp.net core بر روی سرور iis -------- پیاده سازی مسیریابی با استفاده از الگوریتم پیمایش اول سطح یا جستجوی اول سطح (BFS) در سی شارپ -------- آشنایی با SignalR در Asp.net core -------- آموزش استفاده از کلاس SeedData در Asp.net Core -------- قالب سایت فروشگاهی -------- آموزش ایجاد برنامه نصب (setup) قسمت سوم -------- آموزش ایجاد برنامه نصب (setup) قسمت دوم -------- آموزش ایجاد برنامه نصب (setup) قسمت اول -------- آموزش عملیات CRUD با استفاده از Ragor Pages در Asp.net Core2.0 -------- آموزش ثبت تصویر توسط دوربین در برنامه نویسی اندروید به زبان c#.net -------- حل مساله n وزیر با استفاده از الگوریتم ژنتیک و بصورت گرافیکی -------- آموزش نمایش تصویر loading در سمت client جهت بارگزاری صفحات با حجم زیاد از سرور در asp.net mvc -------- آموزش اعتبار سنجی غیر همزمان(AsyncValidation) با استفاده از جاوااسکریپت در Asp.net mvc -------- آموزش ایجاد breadcrumb با استفاده از sitemap در MVC -------- آموزش ایجاد برنامه چت دوطرفه با استفاده از Socket در سی شارپ -------- آموزش ارسال و دریافت فایل در برنامه تحت شبکه با استفاده ار سوکت (Socket) -------- آموزش رسم نمودار در Asp.net -------- آموزش ایجاد مگا منو -------- آموزش استفاده از Grid mvc در Asp.net mvc -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش چهارم) -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش سوم) -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش دوم) -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش اول) -------- بررسی نکات امنیتی در آپلود تصاویر -------- آموزش async - await در یک مثال عملی -------- قالب پنل ادمین --------

ابتدای صفحه