1 <%@ Page Language="C#" %>
2
3 <%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
4 TagPrefix="asp" %>
5 <asp:content id="Content1" contentplaceholderid="head" runat="server">
6 </asp:content>
7 <asp:content id="Content2" contentplaceholderid="MainContent" runat="server">
8 <asp:ScriptManager ID="ScriptManager1" runat="server">
9 </asp:ScriptManager>
10 <div style="height: 270px;">
11 <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/WEBSWAPP.Silverlight.Samples.ChatClient.xap" MinimumVersion="2.0.31005.0" Width="100%" Height="270px" />
12 </div>
13 <div style="height: 270px;">
14 <asp:Silverlight ID="Xaml2" runat="server" Source="~/ClientBin/WEBSWAPP.Silverlight.Samples.ChatAdmin.xap" MinimumVersion="2.0.31005.0" Width="100%" Height="270px" />
15 </div>
16 <p>
17 You will see on this page 2 separate Silverlight controls; one represent the conversation terminal used by the end user and
18 the other represents the Help Desk support interaction screen. They are placed on the same page in this demo so that you may
19 view the screen on the other end of the chat session. The End User posts a message to an asmx web service then the Admin
20 interface polls these messages using a timer and displays them to the Help Desk Support Staff. In production both controls
21 could be on 2 different servers and the client could be using the “Client Interface” over the web from a country other than the
22 Customer Help Staff who would be looking at the “Admin Interface”. Both interfaces connect to a webservice that is exposed over
23 the web.
24 </p>
25 <p> To use it: type in the client interface a name and a message, it will appear in the Admin Interface box because I have setup a timer in
26 the admin interface that polls the chat users and their messages from an asmx web service. Repeat this process several times. </p>
27 <p>In the Admin Interface, select a user you wish to respond to from the list of users, then select the message you want to respond to,
28 type a response and click send.</p>
29 <p> Return back to the Client Interface, type in a name of the user names you have entered, wait for a second, a timer will fire up
30 and poll your conversation from the webservice. You then see the conversation for that user.
31 </p>
32 <p>Notice that the Silverlight ListBox control template has 4 columns for the TimeOfQuestion, Question, TimeOfResponse, and the Response</p>
33 <div class="SourceCodeDiv">
34 <h3>
35 Source code:</h3>
36 <span style="display:block;width:200px;float:left;">
37 <a href="/Common/Chat.asmx.cs.html" target="_blank"">The webservice code</a>
38 </span>
39 <span style="display:block;width:200px;float:left;"><a href="/Common/ChatAdmin.xaml.html" target="_blank"">ChatAdmin.xaml</a>
40 </span>
41 <span style="display:block;width:200px;float:left;">
42 <a href="/Common/ChatAdmin.xaml.cs.html" target="_blank"">
43 ChatAdmin.xaml.cs</a>
44 </span>
45
46 <span style="display:block;width:200px;float:left;"><a href="/Common/ChatClient.xaml.html" target="_blank"">ChatClient.xaml</a>
47 </span>
48 <span style="display:block;width:200px;float:left;">
49 <a href="/Common/ChatClient.xaml.cs.html" target="_blank"">
50 ChatClient.xaml.cs</a>
51 </span>
52 <span style="display:block;width:200px;float:left;">
53 <a href="/Common/ChatApp.aspx.html" target="_blank"">
54 This WebForm</a>
55 </span>
56
57 <span style="display:block;width:200px;float:left;">
58 <a href="/Common/chat.cs.html" target="_blank"">
59 classes used as datacontracts</a>
60 </span>
61
62 </div>
63 </asp:content>