pdf reader in asp.net c# : How to copy text out of a pdf Library SDK component asp.net .net web page mvc Milos_DocumentManagement_DownloadFileAttachment3-part820

31
www.cod
e
-m
a
g
a
z
in
e
.com
Virtu
a
E
a
rth—Wh
a
t
'
s N
e
w in th
e
L
a
t
e
st R
e
l
e
a
s
e
VEMap.Ge
t
Ro
u
t
e:
use VEMap.GetDirections 
instead.
VERo
u
t
eDep
r
eca
t
ed:
old VERoute class.
VERo
u
t
eI
t
i
n
e
r
a
r
yDep
r
eca
t
ed:
old  VER-
outeItinerary class.
Now is the perfect time to update your Virtual Earth 
applications to the latest version or begin using this 
exciting technology to visualize your location-based 
data in your application.
Figure 7: M
a
p
C
runch
e
r B
e
t
a
in 
a
ction.
tical to the existing GeoRSS or a Live collection 
import types; Microsoft added a new enumeration: 
VEDataType.Import
X
ML.
var spec = new
VEShapeSourceSpecifi cation(VEDataType.ImportXML,
"http://enteryourkmlurlhere.htm");
map.ImportShapeLayerData(spec);
Unlike GeoRSS, the KML fi le itself must be located on 
a publicly accessible Web server, not a local fi le or lo-
calhost, as the data is parsed through maps.live.com.
C
onc
l
us
i
on
Virtual Earth has grown into a mature applica-
tion ready for use in demanding enterprise appli-
cations. The recent update added new functional-
ity, improved the user interface, and increased the 
performance while having no breaking changes. 
Applications using version 5 may simply need to 
change the version number to 6. However to sup-
port this, certain functionality from previous ver-
sions, such as the old routing method, still works 
but has been marked as deprecated:
R
ather than add d
i
rect
l
to the map, add your shapes 
to an array, and then 
add th
i
s array of shapes to the 
map 
i
n one ca
l
l
.
J
ohn
O’Brien
How to copy text out of a pdf - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
how to delete text from pdf reader; how to delete text in a pdf acrobat
How to copy text out of a pdf - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
delete text from pdf online; delete text pdf files
32
www.cod
e
-m
a
g
a
z
in
e
.com
W
e
a
ving th
e
Windows Liv
e
S
e
rvic
e
s into Your W
e
b Sit
e
O
N
L
I
N
E
Q
U
I
C
K
I
D
0
8
0
4
0
5
2
Jason Ke
l
l
y
ja
s
on
k
@a
k
ona
s
y
s
tem
s
.
c
om
http://blog.a
k
ona
s
y
s
tem
s
.
c
om
J
a
son K
e
lly is 
a
s
e
nior 
consult
a
nt 
a
t Akon
a
Syst
e
ms, 
Inc. in Kirkl
a
nd, W
a
shington. 
H
e
is th
e
d
e
v
e
lopm
e
nt l
e
a
d for 
Akon
a
’s Windows Liv
e
C
e
nt
e
of 
E
xc
e
ll
e
nc
e
a
nd sp
e
nds his 
tim
e
h
e
lping custom
e
rs cr
e
a
t
e
solutions on th
e
Windows Liv
e
pl
a
tform. B
e
for
e
joining Akon
a
J
a
son work
e
d for 
e
ight y
e
a
rs 
in softw
a
r
e
d
e
v
e
lopm
e
nt 
a
Microsoft.
Windows Live Spaces Photo API. Just adding those 
two services gives you full-motion video, user-gen-
erated  content, and photo  albums—all  hosted  by 
Windows  Live  and  presented 
by your site.
Visitors  to  your  site  can  also 
communicate and stay connect-
ed with Windows Live Services. 
Build Windows Live Messenger 
into your site so your users can 
communicate  with  one  an-
other; integrate Windows  Live 
Alerts to keep them connected 
anywhere on the network, even 
when offl ine.
You don’t have to create an au-
thentication  scheme  for  your 
users. Your server doesn’t need 
to host streaming media or run a database to keep 
track of contacts. Just build the glue—connect the 
Windows Live Services together to create your own 
new user experience.
E
xp
l
or
i
ng the 
Q
u
i
ck App
l
i
cat
i
ons
The Windows Live Quick Applications are sample 
Web applications that use Windows Live Services 
to bring a Web scenario to life. Each Quick Appli-
cation is a free source code download you can cus-
tomize and use in your own site.
You’ll fi nd the source code for each Quick Applica-
tion on http:
/
/
dev.live.com
/
QuickApps, along with 
demos, deployment guides, webcasts and more. Us-
ing this code to develop your own Web site is easy. 
Just download the source code, customize the appli-
cation to meet your needs, and deploy the fi nished 
Web site.
Let’s explore several of the  Windows  Live Quick 
Applications.
T
afiti
Tafi ti is one of the newest Quick Applications. It mix-
es Live Search with Silverlight and Windows Live ID 
to present a highly immersive search experience.
Weav
i
ng 
t
he W
i
ndows L
i
ve 
Se
r
v
i
ces 
i
n
t
o You
r
Web S
i
t
e
R
e
a
d
y
t
o
b
u
il
d
a
W
e
b
e
x
p
e
ri
e
n
c
e
y
o
u
r
u
s
e
r
s
w
ill
l
o
v
e
?
Windows
Live
Services
are
the
building
bloc
k
s
of
your
new
site.
Get
started
right
now
with
the
Windows
Live
Quic
k
A
pplications.
I
t takes an engaged audience and compelling ex-
periences  to reach  success  on  the  Web.  Using 
Windows  Live  Services,  your  site  can  provide 
engaging experiences that con-
nect directly with hundreds  of 
millions of Windows Live users. 
But how do you start
?
Windows 
Live  Quick  Applications  gives 
you an easy way to get started 
by  showing  you  how  to  build 
new experiences  for  your  cus-
tomers with Windows Live Ser-
vices. You can quickly and eas-
ily use Windows Live Services 
to give your users new ways to 
share  information,  communi-
cate, and stay connected.
Each  Quick  Application  uses 
several Windows Live Services 
to store and share data in a fully functional Web 
application. You can download the source code to 
learn about Windows Live development and modify 
the code to create your own site.
Everything you need to get started is at http:
/
/
dev.
live.com
/
QuickApps
/
. On this site you can download 
the source code, learn how to customize the Quick 
Applications, and deploy them on your own site.
Read on for a tour of the Quick Applications and 
step-by-step instructions  for  using  the Quick  Ap-
plications as a starting point for building your next 
generation Web experience.
W
i
ndows 
L
i
ve 
S
erv
i
ces 
Work Together
You can use each of the Windows 
Live  Services  on  its own.  You 
can build  a  Web site  that  uses 
Windows Live ID to manage its 
user base or add Live Search to 
an  existing  site.  However,  the 
services realize their full potential when combining 
several of the APIs into one Web application.
For example, to develop a rich media experience, 
just  glue  together  Silverlight  Streaming  and  the 
Fa
s
t Fa
c
t
s
Th
e
Window
s
Liv
e
Qui
c
Appli
c
ation
s
ar
e
fully 
fun
c
tional W
e
b appli
c
ation
s
that 
s
how how to u
s
e
Window
s
Liv
e
S
e
rvi
c
e
s
to build 
c
omp
e
lling W
e
s
c
e
nario
s
. Th
e
s
our
c
e
c
od
e
i
s
fr
e
e
to download and modify. 
Vi
s
it http:
/
/
www.
c
od
e
pl
e
x.
c
om
/
WLQui
c
kApp
s
for 
information and download
s
.
Tafi t
i
uses 
S
i
l
ver
l
i
ght 1.0, 
W
i
ndows 
L
i
ve I
D
, and 
L
i
ve 
S
earch 
to present a h
i
gh
l
i
mmers
i
ve search exper
i
ence.
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
NET PDF file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF Support to zoom in and zoom out PDF page.
remove text from pdf reader; pull text out of pdf
VB.NET PDF replace text library: replace text in PDF content in vb
PDF reader component installed. Able to pull text out of selected PDF page or all PDF document in VB.NET. Support .NET WinForms, ASP
erase pdf text online; delete text pdf preview
33
www.cod
e
-m
a
g
a
z
in
e
.com
W
e
a
ving th
e
Windows Liv
e
S
e
rvic
e
s into Your W
e
b Sit
e
To explore Tafi ti, browse to http:
/
/
tafi ti.mslivelabs.
com. Enter a search term, browse the results, and 
drag your favorite hits to the Shelf on the right, as 
seen in Fig
u
r
e
1.
The  Live  Search  Web  Service  provides  Tafi ti’s 
search results. Web results, images, news, book 
search, and more are available from the service. 
You can integrate Live Search into your site with 
the Web service or by inserting a special HTML 
block in your Web page. Learn more about in-
tegrating  Live  Search  at  http:
/
/
dev.live.com
/
li-
vesearch.
Live ID enables two features in Tafi ti. When you 
sign in with a Windows Live ID, Tafi ti saves your 
shelf with your search results. The next time you 
sign in with your Live ID, Tafi ti retrieves the shelf, 
letting you start researching where you left off.
W
i
ndows 
L
i
ve 
S
erv
i
ces 
comb
i
ne the features of W
i
ndows 
L
i
ve w
i
th an easy-to-use 
deve
l
oper p
l
atform.
Figure 1: T
a
fi ti int
e
gr
a
t
e
s Windows Liv
e
S
e
a
rch with Silv
e
rlight 
a
nd Windows Liv
e
ID to m
a
k
e
W
e
r
e
s
e
a
rch 
a
e
ng
a
ging 
e
xp
e
ri
e
nc
e
.
Figure 2: 
C
ontoso ISV shows how to build 
a
sit
e
th
a
t incorpor
a
t
e
s th
e
Windows Liv
e
M
e
ss
e
ng
e
r IM 
control.
hosts and streams the media, relieving developers 
of storage and scalability concerns.
To see this combination of Windows Live Services 
in action, go to http:
/
/
contosoisv.mslivelabs.com.
Tafi ti also uses Live ID when you send the contents 
of your shelf to a friend in e-mail. Tafi ti stores your 
shelf, associates it with your Live ID, and sends 
the recipient a hyperlink to the results.
C
ontoso IS
V
Contoso ISV uses many of the Windows Live Ser-
vices to build an online Customer Relationship 
Management (CRM) application. This Quick App 
glues  together  Silverlight  Streaming,  Windows 
Live Messenger, Windows Live Alerts, and Virtual 
Earth to demonstrate a business-focused Web ap-
plication.
Windows Live Messenger enables several features 
in  Contoso  ISV.  The Windows Live  Messenger 
IM Control drops right into the Web site. It lets 
visitors have instant messaging conversations with 
Contoso staff without leaving the home page (Fig-
u
r
e
2).
Several Windows Live Services come into play 
when  a  customer  schedules  a  meeting.  Virtual 
Earth is integrated with Windows Live Messenger 
to schedule an appointment and get driving direc-
tions (Figu
r
e
3). When the sales staff schedules 
the appointment, the company representative au-
tomatically receives a Windows Live Alert notify-
ing them of the new appointment.
Contoso ISV also uses Silverlight Streaming to 
deliver the video content displayed on the home 
page. Silverlight Streaming offers free hosting of 
videos  and  interactive  content.  Windows  Live 
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Image: Copy, Paste, Cut Image in Page. Link: Edit URL. Bookmark: Edit Support to zoom in and zoom out PDF page. Easy to search PDF text in whole PDF document.
how to delete text from pdf reader; how to erase text in pdf file
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Select. Select text and image to copy and paste using Ctrl+C and Ctrl+V. Rotation (Ⅲ) & Zoom (Ⅳ) Tabs. Click to zoom out current PDF document page. 5.
how to delete text in pdf converter; delete text in pdf file online
34
www.cod
e
-m
a
g
a
z
in
e
.com
W
e
a
ving th
e
Windows Liv
e
S
e
rvic
e
s into Your W
e
b Sit
e
W
i
ndows 
L
i
ve 
S
erv
i
ces
T
he 
W
i
ndows 
L
i
ve 
Q
u
i
ck 
A
pp
l
i
cat
i
ons prov
i
de samp
l
e code 
to get started deve
l
op
i
ng w
i
th a
l
l
o
f
the 
f
o
l
l
ow
i
ng 
W
i
ndows 
L
i
ve 
Serv
i
ces:
S
i
l
ver
l
i
ght Stream
i
ng
• 
L
i
ve 
I
D
• 
L
i
ve Search
• 
L
i
ve 
M
essenger
• 
V
i
rtua
l
E
arth
• 
L
i
ve 
A
l
erts
• 
L
i
ve 
C
ontacts
• 
L
i
ve Spaces
• 
L
i
ve 
E
xpo
• 
M
ore 
i
n
f
ormat
i
on on these 
serv
i
ces and deve
l
oper 
documentat
i
on 
f
or a
l
l
o
f
the 
A
P
I
i
s ava
i
l
ab
l
e at http://dev.
l
i
ve.com.
This Quick App shows how you can develop a Web 
site and use Windows Live to store all the content. 
Explore the site and download the code at http:
/
/
contosobicycleclub.mslivelabs.com.
More 
Q
uick Applications
You’ll fi nd several other Quick Applications on the 
site. Each of them has full documentation, deploy-
ment  instructions,  and  source  code  available  for 
download. You can mix and match code from each 
one to create the site you want.
For  all  the  Quick  Applications,  documentation, 
demos, webcasts, and source code, go to http:
/
/
dev.
live.com
/
QuickApps.
From 
Q
u
i
ck App
l
i
cat
i
on to Your 
S
i
te
Reviewing the Quick Applications source code is an 
easy way to learn how to develop with Windows Live 
Services. You can also use the code as a template to 
develop new Web sites. The quickest way to build a 
Windows  Live-enabled  Web  site is to download  the 
Quick  Application’s source  code, modify  it  to meet 
your needs, and then incorporate it into your own site.
To get started building your own Windows Live-based 
Web site, choose the Quick Application that integrates 
C
ontoso Bicycle 
C
lub
Contoso Bicycle Club is a place for bicyclists to post 
photos and reports from their favorite rides. Despite 
the rich content displayed on the site, the applica-
tion itself does not store any images or maps. All 
the photos, reports, and ride routes are hosted by 
Windows Live. It’s a great example of how you can 
glue Windows Live Services together into a com-
plete Web site. The back end is handled by Win-
dows Live; you only need to develop the presenta-
tion layer.
Windows Live Spaces stores most of the content for 
Contoso Bicycle Club. Members post a description 
of each new ride to the space at http:
/
/
contosobi-
cycleclub.spaces.live.com
/
. The blog posts include 
links to a map of the ride, directions, and a photo 
album—all hosted by Windows Live.
The route  and  directions for the ride  come from 
Live Search Maps and Spaces hosts a photo album 
of the ride. The club Web site combines the data 
from these Windows Live APIs into an integrated 
view of the ride (Fig
u
r
e
4).
Contoso Bicycle Club also has the “Bikes  & Kit” 
section—a place for users to buy and sell their bicy-
cles and gear. Windows Live Expo hosts the content 
for this section; the Quick App uses the Expo API 
to retrieve the list of items for sale.
Figure 3: 
C
ontoso ISV us
e
s th
e
Windows Liv
e
M
e
ss
e
ng
e
r Activity SDK to int
e
gr
a
t
e
Virtu
a
E
a
rth 
a
nd Windows Liv
e
Al
e
rts 
with M
e
ss
e
ng
e
r.
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Select. Select text and image to copy and paste using Ctrl+C and Ctrl+V. Rotation (Ⅲ) & Zoom (Ⅳ) Tabs. Click to zoom out current PDF document page. 5.
how to delete text in a pdf file; how to remove highlighted text in pdf
C# PDF Text Extract Library: extract text content from PDF file in
Ability to extract highlighted text out of PDF document. it is feasible for users to extract text content from source PDF document file with a copy-and-paste
how to erase text in pdf online; pdf editor delete text
35
www.cod
e
-m
a
g
a
z
in
e
.com
W
e
a
ving th
e
Windows Liv
e
S
e
rvic
e
s into Your W
e
b Sit
e
Home Theater. It has photo albums and blog posts 
and also offers bicycle gear to buy or sell. That’s just 
what I need to start building Ultimate Home Theater.
I’ll start by downloading the code and getting the 
basic site up and running. Then just customize the 
site however you like. You might need to add or re-
move some pages. Perhaps you’ll want to integrate 
more Windows Live Services.
G
etting the 
C
ode
First, download the Quick Application’s code. Go 
to  http:
/
/
www.codeplex.com
/
WLQuickApps  and 
click the Releases tab. All of the Quick Applications 
come in one source code package. Download the 
package, unzip it, and then open one of the Quick 
Applications in Visual Studio.
Before  you  start  customizing  the  application,  get 
the Quick Application up and running on your Web 
server. Each  of the applications has prerequisites 
and installation instructions on its individual Code-
Plex Web page. After you get  the unmodifi ed ap-
plication up and running, it’s time to evolve it into 
your site.
the Windows Live Services you’d like to use. Then 
change the look and feel of the site to refl ect your 
own design and add any new pages you need. Perhaps 
you’ll want to weave a few more of the Windows Live 
Services into your site. Whatever you’re building, the 
Quick Applications are the perfect starting points.
G
etting Started
I am building a site for home theater enthusiasts called 
Ultimate Home Theater. The front page will show a blog 
of the latest home theater news and will have a link to a 
photo gallery. Users should be able to sign up for alerts 
when new content is posted and the site needs a place 
for users to buy and sell home theater equipment.
I want to get the site  online as quickly as possible 
without  writing  custom  code  to  store  and  retrieve 
blog posts, show pictures, or keep track of items for 
sale. That’s where Windows  Live Services save the 
day: Windows Live takes care of uploading and host-
ing the data. I just write the glue code that calls the 
Windows Live APIs and presents the data.
I’ll start with Contoso Bicycle Club, because it already 
has several features that I want to build into Ultimate 
Figure 4: 
C
ontoso Bicycl
e
C
lub mix
e
s cont
e
nt from Windows Liv
e
Sp
a
c
e
s with g
e
o-t
a
gg
e
d d
a
t
a
from Liv
e
S
e
a
rch M
a
ps to 
show th
e
rout
e
of 
a
bicycl
e
rid
e
.
C# PDF Image Redact Library: redact selected PDF images in C#.net
file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF NET control allows users to black out image in
how to delete text from a pdf; delete text pdf
VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. Image text extraction control provides text extraction from PDF images and image files.
delete text from pdf acrobat; how to remove text watermark from pdf
36
www.cod
e
-m
a
g
a
z
in
e
.com
W
e
a
ving th
e
Windows Liv
e
S
e
rvic
e
s into Your W
e
b Sit
e
Messenger, an  alert  will  pop  up  on their screen 
with a link to the new post. Alerts can also be sent 
by e-mail or to a mobile device.
To  add alerts to your site, start at http:
/
/
signup.
alerts.live.com
/
and fi ll out a Web form with infor-
mation about the site and the RSS feed URL for 
the content. After activating your account, you’ll 
receive an e-mail with a short block of HTML code 
to add to your site. The HTML block adds a sign-
up button to the page. Clicking the button brings 
readers to the Windows  Live Alerts signup page 
for your site.
To  add Windows  Live  Alerts  to Ultimate  Home 
Theater,  I  fi lled  out  the  registration  form  and 
placed the HTML block on the home page. When 
a reader opts-in to alerts from the site and is signed 
into Windows Live Messenger, they receive alerts 
like the one in Fig
u
r
e
5.
Adding a Photo Album
Contoso Bicycle Club has a photo slide show fea-
ture for each ride, but for the home theater site 
I want a separate page to host the photos. To do 
this, I started with Contoso’s Ride Report page 
and removed several elements I didn’t want on the 
page. Then I changed the main menu to include a 
Photos link that shows the slide show.
The page  uses the SlideShow control from the 
ASP.NET AJAX Control Toolkit to display an on-
going photo slide show. The control consumes an 
RSS feed from my photo album in Windows Live 
Spaces and displays each photo in turn.
Lis
t
ing
1 shows the ASPX code used to create the 
slide show. Lis
t
ing
2 shows the GetSlides() meth-
od that parses the photos RSS feed and returns 
the slides to the slide show control.
Integrating Windows Live Spaces
The  home  page  of  Ultimate  Home Theater  has  a 
sidebar listing the latest posts to a home theater blog. 
Windows Live Spaces hosts the blog content and my 
site just subscribes to an RSS feed to get the con-
tent. I’ll use my existing Space at http:
/
/
jason-kelly.
spaces.live.com
/
. A  new HomeTheater  category  in 
my Space will contain the content for the blog.
Contoso Bicycle Club has an ASP.NET user control 
named  LatestRidesControl.aspx.  It  retrieves  blog 
posts from the Windows Live Spaces RSS feed and 
displays them on the site. This control is just what I 
need. I simply moved this user control to the main 
panel of the page. Then, in Web.confi g, I changed 
the application settings to point to the URL for my 
HomeTheater RSS feed. Now, visitors to the Ulti-
mate Home Theater site can see the latest blog posts 
from my Space.
For more information on integrating Windows Live 
Spaces  into  your  site,  browse  to  http:
/
/
dev.live.
com
/
spaces.
Sending Alerts for New 
C
ontent
With Windows Live Alerts on the site, readers can 
opt-in to receive alerts whenever new content is 
posted. If a  reader  is  signed  into Windows Live 
<asp:Image ID="Slides" runat="server" Height="480" 
ImageUrl="images/blank_slide.png"/>
<ajaxToolkit:SlideShowExtender ID="slides" 
runat="server" TargetControlID="Slides"
SlideShowServiceMethod="GetSlides" 
AutoPlay="true" UseContextKey="true"
Loop="true" />
Li
s
ting 1: Photos.
a
spx.
public static Slide[] GetSlides(string request)
{
// Spin up a new XML document to house the RSS FEED.
System.Xml.XmlDocument xmlDocument = new XmlDocument();
// Execute the request using the Reader
XmlReader xmlReader = XmlReader.Create(request);
// Load the XML Document with the reader output
xmlDocument.Load(xmlReader);
// Fetch the node list from the RSS 
XmlNodeList xmlNodeList =
xmlDocument.SelectNodes("/rss/channel/item/enclosure");
// Create arraylist to house the slides
ArrayList slides = new ArrayList();
// Enumerate the enclosures
foreach (XmlNode xmlNode in xmlNodeList)
{
// fetch the description
string description =
xmlNode.ParentNode.FirstChild.InnerText;
// Add the slide
slides.Add(new Slide(xmlNode.Attributes["url"].Value,
description, description));
}
// Return the slides.
return (Slide[]) slides.ToArray(typeof(Slide));
}
Li
s
ting 2: 
G
e
tSlid
e
s m
e
thod.
Figure 5: To notify r
e
a
d
e
rs of 
n
e
w cont
e
nt, 
a
dd Windows Liv
e
Al
e
rts to your sit
e
. Us
e
rs who 
opt-in r
e
c
e
iv
e
r
e
a
l-tim
e
a
l
e
rts 
in Windows Liv
e
M
e
ss
e
ng
e
r or 
e
-m
a
il.
Fi
5
T
tif
d
f
37
www.cod
e
-m
a
g
a
z
in
e
.com
W
e
a
ving th
e
Windows Liv
e
S
e
rvic
e
s into Your W
e
b Sit
e
T
he 
F
inishing 
T
ouches
To fi nish up Ultimate Home Theater, I customized 
the layout to create a new look and feel for the site. 
Modifying the CSS, changing the graphics, and ed-
iting the master pages are the fi nal steps of turning 
a Quick App into a custom site. You can see the re-
sults at http:
/
/
www.jasonkelly.net
/
HomeTheater.
C
onc
l
us
i
on
Windows Live Services open up the features of Win-
dows Live to any Web site with an easy-to-use de-
veloper platform. The wide array of services, simple 
terms of  use,  and helpful  documentation simplify 
many aspects of modern Web development.
Quick Applications are rich sample applications de-
signed to help you integrate Windows Live Services 
into your Web  site.  More  than  just  sample code, 
Quick  Applications  are  fully  functional  applica-
tions that you can customize and extend to build 
your own site much more quickly than starting from 
scratch.
The latest information on the Windows Live Ser-
vices is at http:
/
/
dev.live.com.
Windows Live Spaces takes care of hosting the 
photos, saving me from writing code to handle up-
loading and storing the images. More information 
is available at http:
/
/
dev.live.com
/
spaces
/
photos.
Including Windows Live 
E
xpo
To complete Ultimate Home Theater, I’ll add a 
marketplace for users to buy and sell home theater 
equipment. Windows Live Expo is a free online 
classifi ed ad service. Live Expo exposes all of its 
functionality to developers through a Web service 
API. Contoso Bicycle Club already uses this ser-
vice to allow members to buy and sell bicycle gear. 
I just need to change the site to search for home 
theater equipment instead of bicycles.
The Contoso Bicycle Club Quick Application imple-
ments a useful wrapper for the Live Expo Web ser-
vice. I can use the ExpoService wrapper for Ultimate 
Home Theater by just changing a few parameters.
Each caller to the Windows Live Expo API must 
send a unique string called an application key. To 
request a free Expo application key, go to http:
/
/
expo.live.com
/
MyAPIKeys.aspx and sign in with 
your Windows Live ID. I added my key to the 
Web.confi g fi le of the application. Then I changed 
the code in Classifi eds.aspx to search for the de-
sired category and keywords:
// Get your appKey from expo.live.com
ExpoService expoService = 
new ExpoService(appKey, "1");
XmlDocument xmlDocument = 
expoService.GetListings("66""","home theater");
For information about the API keys and how to call 
the Windows Live Expo APIs, view http:
/
/
dev.live.
com
/
expo.
J
ason
Kelly
A
D
V
E
R
T
I
S
I
N
G
I
N
D
E
X
CoDe
Magazi
n
5, 45
www.code-magazine.com 
Devscove
r
y
Co
n
fe
r
e
n
ces
51
www.devscovery.com
EPS
Sof
t
wa
r
e
Co
r
p. 
2-3
www.eps-software.com
Mic
r
osof
t
Wi
n
dows
Live
83
www.devlive.com
Xii
n
84
www.xiine.com 
Adve
r
t
isi
n
g
Sales:
Vice President,
Sales and Marketing
Tom Buckley
832-717-4445 ext. 34
tbu
c
k
le
y
@
c
ode-maga
z
ine.
c
om
Sales
Ma
n
age
r
s
Erna Egger
+43 (664) 151 0861 
erna@
c
ode-maga
z
ine.
c
om
Tammy
Fe
r
g
u
so
n
832-717-4445 ext 26
tamm
y
@
c
ode-maga
z
ine.
c
om
Advert
i
sers Index
This listing is provided as a courtesy to our readers and 
advertisers. 
The publisher assumes no responsibility for errors 
or omissions.
38
www.cod
e
-m
a
g
a
z
in
e
.com
Building P
e
rson
a
li
z
e
d Applic
a
tions on th
e
Windows Liv
e
ID Pl
a
tform
O
N
L
I
N
E
Q
U
I
C
K
I
D
0
8
0
4
0
6
2
Va
i
sha
l
i
D
e
v
ai
s
hde@mi
c
ro
s
oft.
c
om
V
a
ish
a
li D
e
h
a
s b
e
e
a
Progr
a
M
a
n
a
g
e
r on th
e
Windows Liv
e
ID t
e
a
m sinc
e
sh
e
gr
a
du
a
t
e
from th
e
Univ
e
rsity of Illinois 
a
t Urb
a
n
a
-
C
h
a
mp
a
ign in 
2004. Sh
e
h
a
s work
e
d on 
a
smorg
a
sbord of f
e
a
tur
e
including profi l
e
m
a
n
a
g
e
m
e
nt, 
r
e
n
a
m
e
, d
e
vic
e
a
uth
e
ntic
a
tion, 
a
nd s
e
rvic
e
provisioning.
Ap
a
rt from writing kill
e
r sp
e
cs, 
sh
e
lov
e
s f
a
tt
e
ning up h
e
coll
e
a
gu
e
s with hom
e
-b
a
k
e
goodi
e
s. With 
a
wid
e
r
a
ng
e
of int
e
r
e
sts outsid
e
work, h
e
offi c
e
r
e
fl 
e
cts h
e
r colorful 
p
e
rson
a
lity—it is f
a
mous on 
th
e
L
a
k
e
ridg
e
c
a
mpus for its 
w
a
ll “
a
rt.”
Fa
s
t Fa
c
t
s
Window
s
Liv
e
I
D off
e
r
s
s
impl
e
way for you to g
e
Liv
e
I
D auth
e
nti
c
ation in 
your W
e
b or ri
c
c
li
e
nt appli
c
ation
s
, l
e
tting 
you tap into ov
e
r 400 million 
Liv
e
I
D u
s
e
r
s
.
Enri
c
h your Liv
e
I
auth
e
nti
c
at
e
d appli
c
ation
s
with Liv
e
Control
s
and data 
from oth
e
r Liv
e
s
e
rvi
c
e
s
.
Bu
i
l
d
i
ng Pe
r
sona
l
i
zed 
App
l
i
ca
t i
ons on 
t
he 
W
i
ndows L
i
ve ID P
l
a
t
f
o
r
m
D
o
y
o
u
h
a
v
e
a
c
o
o
l
p
e
r
s
o
n
a
li
z
e
d
a
p
p
li
c
a
t
i
o
n
t
h
a
t
y
o
u
w
a
n
t
t
o
o
f
f
e
r
t
o
o
v
e
r
4
0
0
m
illi
o
n
u
s
e
r
s
?
D
o
y
o
u
w
a
n
t
t
o
li
g
h
t
i
t
u
p
w
i
t
h
Li
v
e
c
o
n
t
r
o
l
s
o
r
c
r
e
a
t
e
a
m
a
s
h
u
p
w
i
t
h
Li
v
e
r
e
s
o
u
r
c
e
s
?
Windows
Live
ID
now
offers
a
simple
way
for
third
parties
to
get
Live
ID
authentication
in
your
Web
or
rich
client
applications,
letting
you
reach
millions
of
Live
ID
users,
integrate
with
Live
Controls,
and
access
Live
services.
Windows Live ID authenticates users using cre-
dentials such as user name and password, or Card-
space  information  cards,  which  provide  higher 
security against phishing. The 
Live ID service supports a vari-
ety of authentication protocols, 
including WS-*, which allows 
federated  users  of  Windows 
Live federation partners to use 
Windows Live and other Live 
ID-enabled  services.  Live  ID 
supports a variety of browsers 
and Windows PCs, as well as 
phones, MSN TV, and XBox.
W
i
ndows 
L
i
ve I
D
Web 
Authent
i
cat
i
on
Windows Live ID Web Authen-
tication helps you build identity-aware Web appli-
cations. It is a service that allows you to:
Verify the identity of visitors to your site.
• 
Offer personalized access to your  site’s con-
• 
tent to millions of  Live ID  users, who don’t 
need to create yet another identity.
Provide single sign-on from your application 
• 
to Windows Live services.
Seamlessly integrate the advanced, and useful, 
• 
functionality  of Windows  Live  controls in a 
non-programmatic way.
Access user’s Windows Live data with  their 
• 
explicit consent.
Why 
D
oes 
Y
our Web Application Need Live I
D
?
Wondering what kind of cool functionality Live ID 
can help you deliver
?
T
h
e
Pa
r
t
y
Pla
n
n
e
r
You have a Web application that helps users host 
that perfect party. With the user’s explicit consent, 
W
indows Live ID supports more than 400 mil-
lion active users, performing over a billion 
authentications per  day, with  a  consistent 
availability of over 99.9%. This 
foundation service is also avail-
able  to third-party  developers, 
allowing them to build identity-
aware Web and rich client ap-
plications using Windows Live 
services,  user  data,  and  social 
relationships.
This article focuses on the Win-
dows  Live  ID  Web and client 
authentication  and  explains 
how you can use it in your ap-
plication.
What 
i
s W
i
ndows 
L
i
ve I
D
?
Windows Live ID is the identity and authentication 
platform for all Microsoft online services, such as 
Windows Live, Xbox Live, Offi ce Live, etc. Many 
third-party  sites  also  use  Live  ID  authentication. 
Formerly known as Microsoft Passport, the service 
was rebranded to refl ect the Windows Live brand, 
as well as new scenarios and features developed to 
support Windows Live.
To a user, Live ID is their identity on various Mi-
crosoft online services. It is what they use to send
/
receive e-mail, chat on messenger, or set up a new 
Offi ce Live account—so they use it anywhere they 
see the Live  ID logo. Windows Live  ID provides 
single sign-on between all Live ID-enabled services, 
so once the user is logged in at one of these sites 
or rich applications, they are seamlessly signed into 
other Windows Live sites as well. For example, the 
user can open Live Mail or Windows Live Spaces 
from Windows Live Messenger without the need to 
provide their credentials again. Also, a user gets a 
consistent experience across Microsoft online sites, 
since all these sites have access to the user’s pro-
fi le.
39
www.cod
e
-m
a
g
a
z
in
e
.com
Building P
e
rson
a
li
z
e
d Applic
a
tions on th
e
Windows Liv
e
ID Pl
a
tform
Register your Web application.
• 
Display the sign-in
/
sign-out link.
• 
Handle responses from Windows Live ID au-
• 
thentication server, to implement  logi
n
, log-
o
u
t
, and clea
r
cookie.
Incorporate Windows Live Controls.
• 
Integrate with Windows Live APIs to access 
• 
other Live services via delegation.
R
egistering 
Y
our Web Application
To use Windows Live ID Web Authentication on 
your site, you must use a valid Live ID to register 
your Web site with Microsoft as an application. The 
Windows  Live  ID  application  management  page 
located  at  https:
/
/
msm.live.com
/
app
/
default.aspx 
assists you with the registration process, issues you 
an application ID for use with the service, and pro-
vides a place for you to manage all the applications 
you register.
Register your application and provide the follow-
ing:
Applica
t
io
n
Name
: The unique  and friendly 
name you use to refer to your application.
Re
t
u
r
n
URL
: The URL of the page on your 
Web site that handles responses from the Win-
dows Live ID authentication service. The ser-
vice  redirects  users  and  their  authentication 
tokens to this URL after they have successfully 
signed in, signed out, or cleared their cookies.
Sec
r
e
t
Key
:  The  shared  secret  between  you 
and Windows Live ID that is used to encrypt 
and  sign  all  tokens  that  Windows  Live  ID 
sends to your site. The secret key must be in a 
format specifi ed by Windows Live ID. Choose 
one that is diffi cult to guess and create security 
procedures to manage this key.
you get access to their Live Calendar and add tasks 
to help them get everything done well in time for 
the big day.
Discove
r
i
n
g
t
h
e
Lo
n
ely
Pla
n
e
t
You have a mashup Web application that helps 
users with their travel plans. Your site is a reposi-
tory of information on cool locations all over the 
world. You help users from picking their vacation 
spot to booking their fl ights, hotels, and attrac-
tions to sharing memories from their holiday with 
their friends. You incorporate the Live
Con
t
ac
t
s
Con
t
r
ol, letting the user choose what contact in-
formation they want to share with your site. The 
user then shares vacation plans or even plans a 
vacation with selected contacts. You incorporate 
the Live
Spaces
Pho
t
o
Con
t
r
ol and let users up-
load photos from their vacation from their Live 
space. By using Windows Live ID, the user will 
be automatically authenticated by these rich con-
trols.
T
he Web Authentication 
F
low
Fig
u
r
e
1
shows the Web authentication fl ow:
User visits your Web site.
1. 
Your site displays a sign-in link in an IFRAME 
2. 
element.
User clicks the sign-in link.
3. 
Windows Live ID returns the sign-in page.
4. 
User enters their Windows Live ID credentials 
5. 
on the sign-in page and submits the form.
Windows Live ID validates the user’s creden-
6. 
tials.
Windows Live ID authentication server redi-
7. 
rects the user to your site along with an au-
thentication token as a form post parameter. 
This token is proof that Windows Live ID has 
verifi ed the user’s identity. Your site can de-
crypt this  token  to  obtain  the user’s  unique 
site-specifi c identifi er.
Your  site  uses the  user’s  site-specifi c unique 
8. 
identifi er to store or display protected or per-
sonalized  content.  You  also  incorporate  the 
Live
Co
n
t
ac
t
s
Co
n
t
r
ol and Live
Spaces
P
h
o-
t
o
Co
n
t
r
ols into your site.
System 
R
equirements for Web Authentication
Web Authentication uses industry-standard HTTP 
protocols and does not depend on any precompiled 
or executable components. You can implement it on 
any Web-development platform. The SDK provides 
samples for ASP.NET, Perl, Java, Ruby, Python, and 
PHP.  It  uses  the  standard  encryption  algorithm 
available on these platforms.
G
etting Started with Web Authentication
Do the following to start using Windows Live Web 
Authentication in your Web application:
Your Web Ser
v
er
U
s
er’
s
B
row
s
er
Window
s
Li
v
e ID
A
uthenti
c
ation Ser
v
i
c
e
Figure 1: Th
e
W
e
b Auth
e
ntic
a
tion fl ow.
40
www.cod
e
-m
a
g
a
z
in
e
.com
Building P
e
rson
a
li
z
e
d Applic
a
tions on th
e
Windows Liv
e
ID Pl
a
tform
//Handling a login action
If (action == "login")
{
WindowsLiveLogin.User user = wll.ProcessLogin(Request.Form); 
//The ProcessLogin method parses, decrypts, and validates the 
//encrypted authentication token received from the Windows Live ID 
//authentication service, letting you access the user's unique ID 
//easily
HttpCookie loginCookie = new HttpCookie("webauthtoken"); 
//Storing the authentication token in a cookie called 
//"webauthtoken" to keep the user signed in to your site during 
//multiple page views
if(user != null)
{
loginCookie.Value = user.Token;
if (user.UsePersistentCookie)
//The ProcessLogin populates the user object with properties like 
//the user.UsePersistentCookie property. If UsePersistentCookie 
//is true, your application is expected to use a persistent cookie 
//to store the authentication token. A persistent cookie keeps 
//the user signed in across multiple browser sessions
{
loginCookie.Expires = DateTime.Now.AddYears(10);
}
}
else
{
loginCookie.Expires = DateTime.Now.AddYears(-10);
}
Response.Cookies.Add(loginCookie);
Response.Redirect("default.aspx");
Response.End();
}
//Handling a clearcookie action
else if (action == "clearcookie")
{
HttpCookie loginCookie = new HttpCookie("webauthtoken");
//Deleting the current "webauthtoken" cookie
loginCookie.Expires = DateTime.Now.AddYears(-10);
Response.Cookies.Add("webauthtoken");
string type;
byte[] content;
wll.GetClearCookieResponse(out type, out content);
//GetClearCookieResponse returns a GIF image to the 
//authentication server to indicate that the user has signed out
Response.ContentType = type;
Response.OutputStream.Write(content, 0, content.Length);
Response.End();
}
//Handling a logout action
else if (action == "logout")
{
HttpCookie loginCookie = new HttpCookie("webauthtoken");
//Deleting the current "webauthtoken" cookie
loginCookie.Expires = DateTime.Now.AddYears(-10);
Response.Cookies.Add("webauthtoken");
Response.Redirect("default.aspx");
//Redirecting users to the page on your Web application that is seen 
//by users who are signed out
Response.End();
}
Li
s
ting 1: H
a
ndling diff
e
r
e
nt 
a
ctions in th
e
r
e
spons
e
from th
e
Windows Liv
e
ID 
a
uth
e
ntic
a
tion s
e
rvic
e
for W
e
b Auth
e
ntic
a
tion.
thentication. S
t
yle is the set of attributes that makes 
the sign-in IFRAME element fi t your site visually.
H
andling 
R
esponses from Windows Live I
D
When Live ID users successfully sign in or out of 
your  site,  the  Windows  Live  ID  authentication 
service responds and redirects them to the 
r
e
t
u
r
n
URL you specifi ed when registering your Web ap-
plication. This URL must correspond to a dynamic 
page that receives and appropriately processes this 
response.
The response has an ac
t
io
n
query-string parameter 
that tells your site what it needs to do. The follow-
ing  is the  list of possible ac
t
io
n
values and  what 
your site must do:
logi
n
: Your site extracts the user’s encrypted 
authentication token from the HTTP POST re-
sponse and stores it in a session cookie to keep 
the user signed in to your site during multiple 
page views.
clea
r
cookie
: Your site clears the session cookie 
you created at sign in, and returns a Graphics 
Interchange Format (GIF) image to the service 
to indicate that the user has been signed out.
logo
u
t
: Your site clears the session cookie and 
redirects the signed out user to a page on your 
site that is appropriate for unauthenticated us-
ers.
There is no certifi cation or approvals process. Ac-
cept the Windows Live Terms of Use and you’re all 
set!
D
isplaying the Sign-in/Sign-out Link
Insert the sign-in
/
sign-out link into your page to in-
corporate Windows Live ID. Include the following 
code in the HTML of your site, replacing the values 
for appid, co
n
t
ex
t
, and s
t
yle with proper values for 
your implementation:
<iframe
ID="WebAuthControl"
Name="WebAuthControl"
Src="https://login.live.com/controls/
WebAuth,htm?Appid=<%MyAppID%>&Context=
MyContext&Style=font-size%3A+10pt%3B+
font-family%3A+verdana%3B+background%3A+
white%3B">
</iframe> 
Appid is the application ID you 
received  when  you  registered 
your  site.  Co
n
t
ex
t
is  the  pa-
rameter holding the user state 
for  your  application  and  gets 
returned in the response from 
Windows  Live ID authentica-
tion server so that you can pre-
serve user state across the au-
Inc
l
ude W
i
ndows 
L
i
ve contro
l
i
n your Web app
l
i
cat
i
on to 
seam
l
ess
l
y comb
i
ne these features 
w
i
th your 
i
nnovat
i
on.
Documents you may be interested
Documents you may be interested