Einführung in ASP.NET SignalR

Publish/Subscribe à la REST
Kommentare

Normal
0

21

false
false
false

DE
X-NONE
X-NONE

<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden=“true“ DefQFormat=“false“ DefPriority=“99″
LatentStyleCount=“267″>
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Normal“>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“heading 1″>

<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Title“>

<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Subtitle“>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Strong“>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Emphasis“>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Table Grid“>

<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“No Spacing“>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading“>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List“>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid“>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1″>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List“>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading“>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List“>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid“>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading Accent 1″>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List Accent 1″>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid Accent 1″>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1 Accent 1″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2 Accent 1″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1 Accent 1″>

<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“List Paragraph“>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Quote“>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Intense Quote“>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2 Accent 1″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1 Accent 1″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2 Accent 1″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3 Accent 1″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List Accent 1″>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading Accent 1″>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List Accent 1″>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid Accent 1″>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading Accent 2″>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List Accent 2″>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid Accent 2″>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1 Accent 2″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2 Accent 2″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1 Accent 2″>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2 Accent 2″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1 Accent 2″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2 Accent 2″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3 Accent 2″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List Accent 2″>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading Accent 2″>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List Accent 2″>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid Accent 2″>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading Accent 3″>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List Accent 3″>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid Accent 3″>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1 Accent 3″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2 Accent 3″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1 Accent 3″>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2 Accent 3″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1 Accent 3″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2 Accent 3″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3 Accent 3″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List Accent 3″>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading Accent 3″>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List Accent 3″>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid Accent 3″>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading Accent 4″>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List Accent 4″>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid Accent 4″>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1 Accent 4″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2 Accent 4″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1 Accent 4″>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2 Accent 4″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1 Accent 4″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2 Accent 4″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3 Accent 4″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List Accent 4″>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading Accent 4″>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List Accent 4″>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid Accent 4″>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading Accent 5″>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List Accent 5″>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid Accent 5″>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1 Accent 5″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2 Accent 5″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1 Accent 5″>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2 Accent 5″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1 Accent 5″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2 Accent 5″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3 Accent 5″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List Accent 5″>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading Accent 5″>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List Accent 5″>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid Accent 5″>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Shading Accent 6″>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light List Accent 6″>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Light Grid Accent 6″>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 1 Accent 6″>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Shading 2 Accent 6″>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 1 Accent 6″>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium List 2 Accent 6″>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 1 Accent 6″>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 2 Accent 6″>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Medium Grid 3 Accent 6″>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Dark List Accent 6″>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Shading Accent 6″>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful List Accent 6″>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed=“false“ Name=“Colorful Grid Accent 6″>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Subtle Emphasis“>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Intense Emphasis“>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Subtle Reference“>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Intense Reference“>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed=“false“ QFormat=“true“ Name=“Book Title“>


/* Style Definitions */
table.MsoNormalTable
{mso-style-name:“Normale Tabelle“;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:““;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:“Times New Roman“,“serif“;}

Das jüngste Mitglied der ASP.NET-Familie, SignalR, erlaubt die Umsetzung von REST-basierten und Firewall-freundlichen Publish/Subscribe-Szenarien. Je nach den Möglichkeiten der Kommunikationspartner kommen dazu Web Sockets oder Long-Polling-Verfahren zum Einsatz.

Während das Web auf Kommunikation nach dem Prinzip Request/Response basiert, bietet es für Benachrichtigungsszenarien keine ideale Ausgangsbasis. Der Grund ist die Funktionsweise von Firewalls: Sie blocken aus Sicherheitsgründen Anfragen, die von außen initiiert werden. Nachrichten, die von den dahinter liegenden Clients versendet werden, sowie Antworten darauf werden hingegen zugelassen. Um diese Einschränkung zu umschiffen, setzen Webentwickler seit Jahren auf Long Polling. Daneben ermöglicht der aufkommende Standard-Web-Socket eine bidirektionale Kommunikation ohne Umwege, indem sich Client und Server darauf einigen, eine Verbindung, die vom Client unter Verwendung von HTTP und somit „Firewall-freundlich“ initiiert wurde, fortan als TCP-Verbindung zu nutzen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -