Observing the User Experience: A Practitioners Guide to User Research

Let s take a look at how you can use your new request handler class to build a simple implementation of this chapter s scenario.

CPassportHandlerT can basically be used like the default CRequestHandlerT class that Visual Studio uses when generating a new ATL Server project. Here s the definition for your ATL Server application class:

#pragma once #include "passporthandlert.h" class CatlspassportHandler : public CPassportHandlerT<CatlspassportHandler> { public: HTTP_CODE ValidateAndExchange() { return HTTP_SUCCESS; } }; BEGIN_HANDLER_MAP() HANDLER_ENTRY("Default", CatlspassportHandler) END_HANDLER_MAP()

As you can see, the only change you ve made is to use the CPassportHandlerT class. Because you re just building a simple example, most of the work will be in the SRF file, as shown in Listing 21-8.

Listing 21.8: Using a Passport-Enabled Request Handler in SRF

1 2 <html> 3 <head> 4 </head> 5 6 <br> 7 Great, you've signed in! 8 <br> 9 Here's what we know about you: 10 <table border="1"> 11 <tr> 12 <td>memberName</td> 13 <td></td> 14 </tr> 15 <tr> 16 <td>memberIdLow</td> 17 <td></td> 18 </tr> 19 <tr> 20 <td>memberIdHigh</td> 21 <td></td> 22 </tr> 23 <tr> 24 <td>profileVersion</td> 25 <td></td> 26 </tr> 27 <tr> 28 <td>country</td> 29 <td></td> 30 </tr> 31 <tr> 32 <td>memberName</td> 33 <td></td> 34 </tr> 35 <tr> 36 <td>postalCode</td> 37 <td></td> 38 </tr> 39 <tr> 40 <td>region</td> 41 <td></td> 42 </tr> 43 <tr> 44 <td>city</td> 45 <td></td> 46 </tr> 47 <tr> 48 <td>lang_preference</td> 49 <td></td> 50 </tr> 51 <tr> 52 <td>bday_precision</td> 53 <td></td> 54 </tr> 55 <tr> 56 <td></td> 57 </tr> 58 <tr> 59 <td>gender</td> 60 <td></td> 61 </tr> 62 <tr> 63 <td>preferredEmail</td> 64 <td></td> 65 </tr> 66 <tr> 67 <td>nickname</td> 68 <td></td> 69 </tr> 70 <tr> 71 <td>wallet</td> 72 <td></td> 73 </tr> 74 <tr> 75 <td>directory</td> 76 <td></td> 77 </tr> 78 <tr> 79 <td>flags</td> 80 <td></td> 81 </tr> 82 </table> 83 84 Why don't you sign in? 85 86 </html>

 

Let s take a look at this SRF code line-by-line :

Категории