SignalR on integroitu asiakas-palvelinkirjasto, joka mahdollistaa selainpohjaisten asiakkaiden ja ASP.NET-pohjaisten palvelinkomponenttien kaksisuuntaisen monivaiheisen keskustelun. Toisin sanoen keskustelu mahdollistaa yhden tilattoman pyyntö/vastaustiedon vaihdon ilman rajoituksia; Se jatkuu, kunnes se on nimenomaisesti suljettu. Keskustelu tapahtuu pysyvän yhteyden kautta, jolloin asiakas voi lähettää useita viestejä palvelimelle ja vastata niiden mukaisesti, ja lisäksi palvelin voi lähettää asynkronisia viestejä asiakkaalle. Se on samankaltainen kuin AJax ja perustuu olemassa olevaan teknologiaan. itsessään on kompleksi. Yleisesti ottaen SignalR käyttää pitkää Javascrip{filtering}t -kyselyä asiakaspuolen viestinnän saavuttamiseksi. WebSocketien tultua SignalR tuki myös WebSocket-viestintää. Tietenkin SignalR käyttää myös palvelinpuolen tehtävien rinnakkaiskäsittelyteknologiaa parantaakseen palvelinen skaalautuvuutta. Se kohdistuu koko .NET Framework -alustaan, ei rajoitu sovellusten isännöintiin, ja se on myös monialustainen avoimen lähdekoodin projekti, joka tukee Mono 2.10+:aa, mikä tekee siitä vaihtoehtoisen toteutusvaihtoehdon Web API:lle, mutta se on palvelinpuolen verkkoprosessoinnin osalta huomattavasti parempi kuin ASP.NET MVC:n Web API, ja mikä tärkeintä, sitä voidaan käyttää Web Formsissa. Yllä on demo-opas:
Websocketin palvelin on Signalr, ja sitten käytämme OWINia ja isännöimme sitä konsolilla!!!
OWINin koko nimi on Open Web Interface for .NET.
Jos tarkastelemme vain nimeä, saamme tämän tiedon: OWIN on avoin verkkokäyttöliittymä .NET-alustalle.
Kuka siis on verkkokäyttöliittymän rajapinta? Se on rajapinta web-sovelluksen ja web-palvelimen välillä, ja OWIN on rajapinta .NET-verkkosovelluksen ja web-palvelimen välillä.
Miksi tarvitset tällaisen käyttöliittymän? Koska. NET-verkkosovellus toimii web-palvelimella, ja .NET-verkkosovelluksen tulee vastaanottaa käyttäjän pyyntö web-palvelimen kautta ja lähettää vastauksen sisältö käyttäjälle web-palvelimen kautta. Ilman tällaista käyttöliittymää .NET-verkkosovellus riippuisi esimerkiksi käyttämästään verkkopalvelimesta, ASP.NET sovellus riippuisi IIS:stä. Tämän käyttöliittymän avulla ASP.NET tarvitsee vain luottaa tähän abstraktiin rajapintaan eikä välitä käyttämästään web-palvelimesta.
Siksi OWIN:n rooli on irrottaa toisistaan ottamalla käyttöön joukko abstrakteja rajapintoja. NET-verkkosovellus ja web-palvelin, jälleen kerran osoittaen rajapintojen merkityksen. Ohjelmistokehityksessä jokainen irrotus on iso askel eteenpäin. Avasimme sen kolmella eri selaimella, ja meillä oli WebSocket-protokollan URL.
Ensimmäinen selain: Rekisteröimme käyttäjän test3:een salasanalla 123 ja kirjaudumme sisään.
Toinen selain: Käytämme ylläpitäjätiliä kirjautumiseen.
Kolmas selain: Ei kirjautumista, turististatus.
Huomasimme, että kirjautuneita tilejä voi käyttää viestien lähettämiseen, ja muut käyttäjät voivat vastaanottaa viestejä (turistitkin voivat vastaanottaa viestejä)
Lähetä viesti ja näytä automaattisesti toisen henkilön lempinimi, mutta et kirjautunutta tiliä.
Lopuksi liitetään lähdekoodi:
Verkkolähdekoodi:
Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus
Signalr-palvelimen lähdekoodi:
Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus
|