NOTE: The systemm does not implement any error handling or exception processing as the purpose was
to demo the feature of Silvelright sockets and web service integration. If an excepption
occurs, restart the servers and the test clients.
Basic setup
-----------
1. Install Visual Studio 2008 and SP1
2. Install Silverlight 2.0 SDK and Visual Studio 2008 Silvelright tools
Setup aspnetdb for user authentication
--------------------------------------
1. Install SQLExpress
2. Create TestUser with SysAdmin role and password Pass@word1
3. Change directory to C:\Windows\Microsoft.NET\Framework\v2.0.50727\
4. Execute command: aspnet_regsql -E -S localhost\SQLExpress -A mrp
5. Change AdvUtilityServices web.config file
<connectionStrings>
<!-- remove and add LocalSqlServer setting will override the default asp.net security database
as seen by the ASP.NET Configuration tool located in the Visul Studio Project menu-->
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=.\SqlExpress;Initial Catalog=aspnetdb;Persist Security Info=True; User ID=TestUser;Password=Pass@word1" providerName="System.Data.SqlClient"/>
</connectionStrings>
(Note: clear text password only for simplitycity of testing. For production systems use Windows authentication or store password at an encrypted location)
6. Select AdvUtilityServices project and click "ASP.NET Configuraiton" menu item from the Project menu in the tool bar
7. From the "Home->Security" tab of the Web Site Administration Tool, click "Select Authentication Type" and select "From Internet".
8. From the "Home->Security->Create User", create users bj55, jc55, wl55 all with password Pass@word1.
DataUtility.cs
--------------
DataUtility is an encapsulation of utility data functions. The functions like GetSecurityQuestions()
and GetOrderByID()can be replaced with database access for real solutions.
Windows Vista firewall settings (for unit testing only)
-------------------------------------------------------
1. When you press F5 for debugging, if the firewall is not configured to allow socket connections to
AdvPolicyServer.exe and AdvCallManager.exe, Silverlight client may not be able to make connections
2. This can be ensured by execpting the firewall dialogs to pass through socket connections when
you press F5 for debugging.
3. Please make sure that you change the scope of the incoming connections to only "My Network(subnet) Only"
from the (Firewall Allow Programs through Windows firewallexceptions -->Exceptions --> AdvCallManager
--> Properties --> Change Scope --> My network(subnet) only)) --> click OK)
4. Change the above rules appropriately in production systems.
Testing
-------
1. Press F5 from Visual Studio 2008. The will start:
Four web servers:
----------------
a. AdvCallClientWeb(localhost:1041)
b. AdvCallSimulatorWeb(locahost:1042)
c. AdvBusinessServices(locahost:1043)
d. AdvUtilityServices (localhost:1044)
(Note: make sure that AdvBusinessServices and AdvUtilityServices have "/" as their
root virtual directory for the cross-domain policies to work)
Two console programs:
---------------------
a. AdvCallManager (localhost:4530)
b. AdvPolicyServer(localhost:943)
(Note: make sure that the firewall settings are correct as previously described)
Four IE windows
---------------
a. SLCallClient.html (Url: http://localhost:1041/SLCallClient.html)
b. SLCallSimulator.html (uRL: http://localhost:1042/SLCallSimulator.html)
(Note: ignore the other two as they are to the root of the AdvBusinessServices and
AdvUtilityServices)
2. Open a stand alone IE window (or a tab if you like) and access http://localhost:1041/SLCallClient.html.
(Now you have two call center agent screens and one call simulator ready to go)
(The SERVERS and CLIENTS can using StartServers.cmd followed by StartClients.cmd from a VS command prompt if you already
compiled the solution)
3. Log into to both the silvelright clients with jc55/Pass@word1 and bj55/Pass@word1
4. Switch focus to SLCallSimulator.html (use the defaults) click "Place Call".
5. One of the SLCallClient instances will show Accept/Reject dialog box. Click Accept.
(If you click Reject, the call dispatcher on the AdvCallManager server will not dispatch
the call for 2 minutes as there would have been a reason for Reject. In real world, the
Agent may input a reason message which can be interperted by the server to make routing
decisions)
6. The Agent screen will display the "script" and a list of security questions. The current
implementaiton does not check the minimum number questions to be answered. Click Continue.
7. The agent screen will display the order details for which the call is made. The Save funtionality
is not implemented. Click End Call.
Repeat steps 4 to 7 with different call details. On the call simulator screen, order number is important.
The server ignores the name and the phone number (but the client uses these to display). The valid order numbers: 39688, 57754, 58967 and 76948 can
be found in DataUtil.cs.
- 1
- 2
- 3
- 4
- 5
- 6
前往页