คำถามติดแท็ก signalr

4
.net localhost เว็บไซต์ทำการรับ arterySignalR / poll? transport = longPolling & connectionToken = การโทร
ฉันสร้างโครงการ VS 2013 ใหม่และดูหน้าที่ default.aspx ด้วยเบราว์เซอร์ Firefox เมื่อฉันตรวจสอบการโทรผ่านเน็ตที่ทำไปแล้วฉันเห็นว่ากำลังโทรไปที่: http://localhost:50682/6a663a78019845d5ade4a328cad09cc2/arterySignalR/poll?transport=longPolling&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAOBmDwPWa2ky2MAZXFHBMVAAAAAACAAAAAAAQZgAAAAEAACAAAADSADQXBVKiKczflJ0OzUjOLduFTJE4zd%2FLHWGpDfXnuAAAAAAOgAAAAAIAACAAAACyEX81VwilygfphPoEKCYQ6ZwrkzExoKfZzEMkqBKqqzAAAADG%2BDJbrEFOfsNm9OKhqacnGseQvrwy5kmyZnI5YJiZbjYFgzMELXHfwA7Sxjj4osJAAAAAvQvoG4N0nn8eB9FRaJaZyqaUDF%2F9ypvGN%2B%2BVefnx8U1Fq6P9HXO9vEC%2BfA2s8R4jik58rD4IcFMjM4P8l5kv6g%3D%3D&messageId=d-F1180A0E-W%2C0%7Cl%2C4%7Cm%2C0&requestUrl=http%3A%2F%2Flocalhost%3A50656%2Fdefaulttest&browserName=Firefox&tid=4&_=1384207744328 ทำไมถึงทำเช่นนั้น? ฉันจะหยุดสายเหล่านั้นได้อย่างไร ฉันเห็นการโทรไปที่ URL ด้านบนทุก 6 วินาที โปรดช่วยฉันเข้าใจสิ่งนี้และแก้ไขปัญหานี้

2
SignalR ทำงานอย่างไรภายใน
ทุกคนสามารถแจ้งให้ฉันทราบว่า SignalR ทำงานภายในอย่างไรในระดับสูง? ฉันเดาว่ามันกำลังล้างข้อมูลโดยใช้Response.Flushและที่ฝั่งไคลเอ็นต์มันกำลังส่งคำขอ Ajax ในบางช่วงเวลา ถูกต้องหรือไม่
160 signalr 

5
SignalR: ทำไมต้องเลือก Hub vs. Persistent Connection
ฉันได้ค้นหาและอ่านบน SignalR เมื่อเร็ว ๆ นี้และในขณะที่ฉันเห็นคำอธิบายมากมายว่าอะไรคือความแตกต่างระหว่างฮับและการเชื่อมต่อแบบถาวรฉันไม่สามารถมุ่งหน้าไปอีกระดับได้ซึ่งเป็นสาเหตุที่ฉันจะ เลือกวิธีใดวิธีหนึ่งเหนืออีก?
150 signalr 

3
ฉันสามารถรวมทั้ง SignalR และ RESTful API ได้หรือไม่
ฉันมีเว็บแอปหน้าเดียวที่พัฒนาโดยใช้ ASP.NET ฉันเพิ่งแปลงวิธีการบนเว็บจำนวนมากให้เป็นแบบพุชโดยใช้ไลบรารีSignalR สิ่งนี้ทำให้หน้าเว็บเร็วขึ้นอย่างมากและลดการเรียกเซิร์ฟเวอร์จำนวนมากจากหน้าเว็บ ในเวลาเดียวกันฉันยังได้ดู RESTful ASP.NET WebAPI สำหรับวิธีการฝั่งเซิร์ฟเวอร์ด้วยความสวยงามที่แท้จริงคืออนุญาตให้สร้าง API สำหรับแอปพลิเคชันภายนอกในเวลาเดียวกันกับที่ฉันพัฒนา แอปพลิเคชันหลัก (ซึ่งจะมีความสำคัญสำหรับสิ่งที่ฉันทำ) ดูเหมือนว่าอย่างไรหลังจากที่กำลังมองหาที่หลายบทความและเหล่านี้ สองคำถามที่ผลักดันและ WebAPI วิธีดูเหมือนสองกระบวนทัศน์ที่แตกต่างกันอย่างสิ้นเชิงสำหรับการสื่อสารลูกค้าเซิร์ฟเวอร์ ฉันแน่ใจว่าฉันสามารถสร้างวิธีการต่างๆที่สามารถเข้าถึงได้ผ่านโปรโตคอลใดก็ได้ แต่ฉันไม่แน่ใจว่ามีข้อผิดพลาดเกิดขึ้นหรือไม่หรือถือว่าเป็นเรื่องที่เลอะเทอะ - อาจมีวิธีที่หรูหรากว่าในการบรรลุสิ่งที่ฉันตั้งเป้าไว้ สำหรับ. มีหลายสถานการณ์ที่ฉันต้องการให้ RESTful WebAPI ออกอากาศเหตุการณ์ผ่านฮับ SignalR ... ตรงกันข้าม (SignalR เคยต้องการเข้าถึง WebAPI) ดูเหมือนจะมีโอกาสน้อยกว่า แต่ฉันคิดว่ายังคงเป็นไปได้ มีใครทำแบบนี้บ้าง? ใครมีคำแนะนำหรือเคล็ดลับในการดำเนินการ อะไรคือหนทางที่สง่างามที่สุดที่นี่?

1
การใช้ SignalR กับ Redis messagebus failover โดยใช้ ConnectionUtils.Connect () ของ BookSleeve
ฉันกำลังพยายามสร้างสถานการณ์ล้มเหลวของบัสข้อความ Redis ด้วยแอป SignalR ในตอนแรกเราลองใช้ความล้มเหลวของตัวโหลดบาลานซ์ฮาร์ดแวร์แบบง่ายๆซึ่งตรวจสอบเซิร์ฟเวอร์ Redis สองตัว แอปพลิเคชัน SignalR ชี้ไปที่จุดสิ้นสุด HLB เอกพจน์ จากนั้นฉันล้มเหลวหนึ่งเซิร์ฟเวอร์ แต่ไม่สามารถรับข้อความใด ๆ ผ่านเซิร์ฟเวอร์ Redis ที่สองได้สำเร็จโดยไม่ต้องรีไซเคิลพูลแอป SignalR สันนิษฐานว่าเป็นเพราะจำเป็นต้องออกคำสั่งการตั้งค่าให้กับบัสข้อความ Redis ใหม่ สำหรับ SignalR RC1 Microsoft.AspNet.SignalR.Redis.RedisMessageBusใช้ Booksleeve RedisConnection()เพื่อเชื่อมต่อกับ Redis เดียวสำหรับ pub / sub ฉันสร้างคลาสใหม่RedisMessageBusCluster()ที่ใช้ Booksleeve ConnectionUtils.Connect()เพื่อเชื่อมต่อกับคลาสในคลัสเตอร์ของเซิร์ฟเวอร์ Redis using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using BookSleeve; using …

6
SignalR - ส่งข้อความถึงผู้ใช้เฉพาะโดยใช้ (IUserIdProvider) * NEW 2.0.0 *
ใน Asp.Net SignalR เวอร์ชันล่าสุดได้เพิ่มวิธีใหม่ในการส่งข้อความไปยังผู้ใช้เฉพาะโดยใช้อินเทอร์เฟซ "IUserIdProvider" public interface IUserIdProvider { string GetUserId(IRequest request); } public class MyHub : Hub { public void Send(string userId, string message) { Clients.User(userId).send(message); } } คำถามของฉันคือฉันจะรู้ได้อย่างไรว่าฉันกำลังส่งข้อความถึงใคร? คำอธิบายของวิธีการใหม่นี้ดูผิวเผินมาก และร่างคำชี้แจง SignalR 2.0.0 ที่มีข้อบกพร่องนี้และไม่ได้รวบรวม มีใครใช้ฟีเจอร์นี้บ้าง? ข้อมูลเพิ่มเติม: http://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections#IUserIdProvider กอด.

1
Nodejs vs SignalR: ทำไมเราต้องใช้จาวาสคริปต์ฝั่งเซิร์ฟเวอร์
ตั้งแต่ฉันรู้จัก Node.js ฉันก็เป็นแฟนของมันมาตลอด แต่วันนี้ฉันพบเกี่ยวกับSignalRซึ่งเป็นทางเลือกแบบอะซิงโครนัส - ปรับขนาดได้ - เรียลไทม์สำหรับ ASP.NET เท่าที่ฉันรู้ข้อได้เปรียบหลักของ Node.js เหนือ SignalR คือการแชร์โค้ดระหว่างไคลเอนต์ - เซิร์ฟเวอร์ (ข้อดีอีกอย่างคือมันข้ามแพลตฟอร์ม) และข้อได้เปรียบหลักของ SignalR คือเฟรมเวิร์กที่เป็นผู้ใหญ่มากกว่าและดีกว่า การสนับสนุนเครื่องมือ (IDE) ฉันจึงสงสัยว่าถ้า SignalR อยู่ที่นี่เราต้องการ Node.js บน Windows อีกต่อไปหรือไม่? มีข้อดีของ Node.js ที่ฉันไม่รู้หรือไม่?

5
ตัวอย่างแอป SignalR Console
มีตัวอย่างเล็กน้อยของคอนโซลหรือแอป winform ที่ใช้ signalR เพื่อส่งข้อความไปยัง. net hub หรือไม่? ฉันได้ลองใช้ตัวอย่าง. net และดูวิกิแล้ว แต่มันไม่สมเหตุสมผลสำหรับฉันที่ความสัมพันธ์ระหว่างฮับ (.net) และไคลเอนต์ (แอปคอนโซล) (ไม่พบตัวอย่างนี้) แอพต้องการที่อยู่และชื่อของฮับในการเชื่อมต่อหรือไม่? หากมีใครสามารถให้รหัสเล็กน้อยที่แสดงว่าแอปเชื่อมต่อกับฮับและส่ง "Hello World" หรือสิ่งที่. net hub ได้รับ ปล. ฉันมีตัวอย่างการแชทฮับมาตรฐานซึ่งใช้ได้ดีถ้าฉันพยายามกำหนดชื่อฮับใน Cs มันจะหยุดทำงานเช่น [HubName ("test")] คุณรู้สาเหตุของสิ่งนี้หรือไม่ ขอบคุณ. รหัสแอปคอนโซลปัจจุบัน static void Main(string[] args) { //Set connection var connection = new HubConnection("http://localhost:41627/"); //Make proxy to hub based …
85 c#  signalr 

2
JavaScript เป็น C # การสูญเสียความแม่นยำเชิงตัวเลข
เมื่อซีเรียลไลซ์และค่าดีซีเรียลไลซ์ระหว่าง JavaScript และ C # โดยใช้ SignalR กับ MessagePack ฉันเห็นการสูญเสียความแม่นยำเล็กน้อยใน C # เมื่อสิ้นสุดการรับ ตัวอย่างเช่นฉันส่งค่า 0.005 จาก JavaScript ไปยัง C # เมื่อค่า deserialized ปรากฏขึ้นในด้าน C # ฉันได้รับค่า0.004999999888241291ซึ่งอยู่ใกล้ แต่ไม่ใช่ 0.005 คุ้มค่าในด้าน JavaScript เป็นNumberและที่ด้านข้าง C # doubleฉันใช้ ฉันได้อ่านแล้วว่าจาวาสคริปต์ไม่สามารถแสดงตัวเลขทศนิยมได้อย่างแม่นยำซึ่งสามารถนำไปสู่ผลลัพธ์เช่น0.1 + 0.2 == 0.30000000000000004นั้น ฉันสงสัยว่าปัญหาที่ฉันเห็นเกี่ยวข้องกับคุณสมบัติของ JavaScript นี้ ส่วนที่น่าสนใจคือฉันไม่ได้เห็นปัญหาแบบเดิม ๆ การส่ง 0.005 จาก C # ถึง …

1
ไคลเอ็นต์ SignalR .NET เชื่อมต่อกับบริการ Azure SignalR ในแอปพลิเคชัน Blazor .NET Core 3
ฉันกำลังพยายามเชื่อมต่อระหว่างแอปพลิเคชัน ASP.NET Core 3.0 Blazor (ฝั่งเซิร์ฟเวอร์) กับ Azure SignalR Service ฉันจะลงเอยด้วยการฉีดไคลเอนต์ SignalR (บริการ) ของฉันไปยังองค์ประกอบ Blazor บางอย่างเพื่อให้พวกเขาอัปเดต UI / DOM ของฉันแบบเรียลไทม์ ปัญหาของฉันคือฉันได้รับข้อความต่อไปนี้เมื่อฉันเรียก.StartAsync()วิธีของฉันในการเชื่อมต่อฮับ: รหัสสถานะการตอบสนองไม่ได้หมายถึงความสำเร็จ: 404 (ไม่พบ) BootstrapSignalRClient.cs ไฟล์นี้โหลดการกำหนดค่าของฉันสำหรับบริการ SignalR รวมถึง URL, สตริงการเชื่อมต่อ, คีย์, ชื่อเมธอด, และชื่อฮับ การตั้งค่าเหล่านี้จะถูกบันทึกไว้ในระดับคงที่SignalRServiceConfigurationและใช้ในภายหลัง public static class BootstrapSignalRClient { public static IServiceCollection AddSignalRServiceClient(this IServiceCollection services, IConfiguration configuration) { SignalRServiceConfiguration signalRServiceConfiguration …

4
ฉันจะฆ่าการเชื่อมต่อ SignalR ได้อย่างไร?
ฉันใช้ SignalR เพื่อถ่ายโอนข้อมูลบนเว็บไซต์ แต่ SignalR ควรจะสามารถส่งข้อมูลในช่วงระยะเวลาหนึ่งเท่านั้นและหากช่วงเวลาที่ผ่านการเชื่อมต่อควรถูกฆ่า ฟังก์ชั่นหยุดทำงาน$.connection.hub.stop()จะถูกยกเลิกหากคำขอยังค้างอยู่และยังไม่เสร็จสมบูรณ์ แต่คำขอนี้ควรถูกบังคับให้ยกเลิกไม่ว่าจะส่งข้อมูลไปเท่าใด ฉันจะฆ่าการเชื่อมต่อสัญญาณได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.