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

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


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

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


اخبار و مقالات در فکر بکر آموزش ساخت صفحه تماس با ما بصورت Ajax در Asp.net MVC5

در این برنامه می خواهیم به آموزش نحوه ارسال اطلاعات بدون لود یا refresh شدن صفحه به سمت سرور در Asp.net MVC بپردازیم. ...


اخبار و مقالات در فکر بکر آموزش نمایش تصویر loading در سمت client جهت بارگزاری صفحات با حجم زیاد از سرور در asp.net mvc

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


اخبار و مقالات در فکر بکر قالب پنل ادمین

جهت دانلود قالب پنل مدیریتی به ادامه مطلب مراجعه نمایید ...


اخبار و مقالات در فکر بکر آموزش اتصال داده ها بین دو کنترل DropDownList در Asp.netMVC بصورت Ajax

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


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

این روزها استفاده از کامپوننت kendo ui از محصولات شرکت تلریک در میان برنامه نویسان مورد توجه خاصی قرار گرفته است بنابراین تصمیم گ ...


اخبار و مقالات در فکر بکر آموزش تحت شبکه کردن برنامه های مبتنی بر c# در sql server

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


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

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


اخبار و مقالات در فکر بکر آموزش Serialize و Deserialize اطلاعات در قالب Json به زبان C#.net

JSON مخفف عبارت «Javascript Object Notation» به معنی «نشان‌گذاری شیء جاوااسکریپت» است. و با استفاده از آن میتوان اطلاعات مورد نظر ...


اخبار و مقالات در فکر بکر آموزش مبحث Single Responsibility Principle (SRP) از بخش اصول طراحی شی گرا (SOLID)

در این اموزش هدف ایجاد کلاس و اشیاء با کمترین وابستگی جهت بهینه کردن تست و آسان نمودن توسعه نرم افزار می باشد. لذا برنامه نویس با ...


اخبار و مقالات در فکر بکر آموزش ایجاد برنامه نصب (setup) قسمت سوم

در مراحل قبلی نحوه ایجاد فایل configuration و فایل نصب sql server و همچنین ایجاد setup برای نرم افزاری که باید در سیستم مشتری نصب ...


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

در این آموزش به نحوه ثبت تصویر و ذخیره آن در حافظه گوشی با سیستم عامل اندروید با زبان برنامه نویسی سی شارپ (C#.net)خواهیم پرداخت. ...


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

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


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

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


پیوندها
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

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

UOpzb2

آموزش کار با کوکی ها (Cookie) در Asp.net core -------- آموزش رمزنگاری فایلها در asp.net core -------- مقایسه واحدهای اندازه گیری rem و em در css -------- آشنایی با مفهوم Generic در C#.net -------- نحوه خواندن اطلاعات از فایل appsetting.json در Asp.net Core -------- آموزش استفاده از CQRS و Mediator در Asp.Net Core -------- نحوه ایجاد image checkbox در html css -------- عملیات crud و WebApi در Asp.net 6 -------- آموزش ایجاد custom model binder در Asp.net core -------- آموزش استفاده از Log4net در Asp.net 5 -------- آموزش پیاده سازی 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) --------

ابتدای صفحه