مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ahmadi

عضویت از 1393/07/18

استفاده از RealTime در پروژه

  • سه شنبه 10 اردیبهشت 1398
  • 13:19
تشکر میکنم

با سلام من تمام پکیچ های RealTime رو نصب کردم

بعد یه کلاس ClockHub.cs ایجاد کردم به صورت زیر

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

namespace RealTimeClock.App_Code
{
    public class ClockHub : Hub
    {
        public void getTime(string countryZone)
        {
            TimeZone currentZone = TimeZone.CurrentTimeZone;
            DateTime currentDate = DateTime.Now;
            DateTime currentUTC = currentZone.ToUniversalTime(currentDate);
            TimeZoneInfo selectedTimeZone = TimeZoneInfo.FindSystemTimeZoneById(countryZone);
            DateTime currentDateTime = TimeZoneInfo.ConvertTimeFromUtc(currentUTC, selectedTimeZone);
            Clients.Caller.setTime(currentDateTime.ToString("h:mm:ss tt"));
        }
         
    }
}

و یک کلاس Startup.cs

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
using Microsoft.AspNet.SignalR;

[assembly: OwinStartup(typeof(RealTimeClock.Startup))]

namespace RealTimeClock
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR("/signalr", new HubConfiguration());
        }
    }
}

و یک کد جاوا هم هست به صورت زیر

var countryZone = "Bangladesh Standard Time";

$(document).ready(function () {
    var hubProxy = $.connection.clockHub;

    hubProxy.client.setTime = function (time) {
        $('#clock').html(time);
    };

    $.connection.hub.start().done(function () {
        setInterval(function () {
            hubProxy.server.getTime(countryZone);
        }, 1000);
    });
});
function select_country() {
    countryZone = $("#lstCountry").val();
}

حالا میخوام با استفاده از کد بالا این جدول به روزسانی بشه باید جیکار کنم؟

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

salman_b

عضویت از 1396/02/18

  • سه شنبه 10 اردیبهشت 1398
  • 15:20

سلام

خب این کد که نمی‌تونه کاری برای شما بکنه!

SignalR صرفا یه Broadcast هستش و نه بیشتر

زمانی که یه پیامی رو میفرسته سمت کلاینت یه event رو raise میکنه که میتونی اونجا پیام رو دریافت کنی و کاری که می‌خوای رو انجام بدی و کاملا هم باید براش کد بزنی.

راه حل درستش که توی همه‌ی فریم ورک های درست حسابی هستش استفاده از Data Binding هستش که حالا یا باید از یه فریم ورک استفاده کنی یا خودت یه سیستم واسه اینکار بنویسی تا داده‌های جدولش به یه منبعی وصل بشن و زمانی که پیام رو از SignalR دریافت می‌کنی اون منبع رو آپدیت کنی ( مي‌تونه local storage ) و خودکار جدولت آپدیت بشه.

موفق باشی*

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)