c# save as pdf : Create bookmarks pdf software Library project winforms .net wpf UWP ASPNETWebPagesWithRazorSyntax-Book17-part612

ASP.NET Web Pages Using The Razor Syntax 
Chapter 14 – Analyzing Traffic 
167 
ASP.NET includes several analytics helpers (
Analytics.GetGoogleHtml
Analytics.GetYahooHtml
, and 
Analytics.GetStatCounterHtml
) that make it easy to manage the JavaScript snippets used for analytics. 
Instead of figuring out how and where to put the JavaScript code, all you have to do is add the helper to 
a page. The only information you need to provide is your account name. (For StatCounter, you also have 
to provide a few additional values.) 
In this procedure, you'll create a layout page that uses the 
GetGoogleHtml
helper. If you already have an 
account with one of the other analytics providers, you can use that account instead. 
Note   When you create an analytics account, you register the URL of the site that you want to be 
tracking. If you're testing everything on your local computer, you won't be tracking actual traffic (the 
only traffic is you), so you won't be able to record and view site statistics. But this procedure shows 
how you add an analytics helper to a page. When you publish your site, the live site will send 
information to your analytics provider.  
1.
Add the ASP.NET Web Helpers Library to your website as described in Chapter 1 - Getting 
Started with ASP.NET Web Pages, if you haven't already added it. 
2.
Create an account with Google Analytics and record the account name. 
3.
Create a layout page named Analytics.cshtml and add the following markup: 
<!DOCTYPE html> 
<html> 
<head> 
<title>Analytics Test</title> 
</head> 
<body> 
<h1>Analytics Test Page</h1> 
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p> 
<div id="footer"> 
&copy; 2010 MySite 
</div> 
Create bookmarks pdf - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create bookmarks pdf file; excel hyperlink to pdf bookmark
Create bookmarks pdf - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create pdf bookmarks online; auto bookmark pdf
ASP.NET Web Pages Using The Razor Syntax 
Chapter 14 – Analyzing Traffic 
168 
@Analytics.GetGoogleHtml("myaccount") 
</body> 
</html> 
Note   You must place the call to the 
Analytics
helper in the body of your web page (before the 
</body>
tag). Otherwise, the browser will not run the script.  
If you're using a different analytics provider, use one of the following helpers instead: 
(Yahoo)  
@Analytics.GetYahooHtml("myaccount")
(StatCounter)  
@Analytics.GetStatCounterHtml("project", "security")
4.
Replace 
myaccount
with the name of the account that you created in step 1. 
5.
Run the page in the browser. (Make sure the page is selected in the Files workspace before you 
run it.) 
6.
In the browser, view the page source. You'll be able to see the rendered analytics code: 
<!DOCTYPE html> 
<html> 
<head> 
<title>Analytics Test</title> 
</head> 
<body> 
<h1>Analytics Test Page</h1> 
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> 
<div id="footer"> 
&copy; 2010 MySite 
</div> 
<script type="text/javascript"> 
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : 
"http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-
analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
</script> 
<script type="text/javascript"> 
try{ 
var pageTracker = _gat._getTracker("myaccount"); 
pageTracker._trackPageview(); 
} catch(err) {} 
</script> 
</body> 
</html> 
7.
Log onto the Google Analytics site and examine the statistics for your site. If you're running the 
page on a live site, you see an entry that logs the visit to your page. 
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
copy pdf bookmarks to another pdf; split pdf by bookmark
VB.NET PDF File Split Library: Split, seperate PDF into multiple
file into multiple ones by PDF bookmarks or outlines As String = Program.RootPath + "\\" 1.pdf" Dim outputFileName 1 to (Page Count - 1). ' Create output PDF
how to add bookmarks to pdf document; bookmarks in pdf
ASP.NET Web Pages Using The Razor Syntax 
Chapter 15 – Caching to Improve the Performance of Your Website 
169 
Chapter 15 
Caching to Improve the Performance of 
Your Website 
You can speed up your website by having it store — that is, cache — the results of data that ordinarily 
would take considerable time to retrieve or process and that does not change often. 
What you'll learn: 
How to use caching to improve the responsiveness of your website. 
These are the ASP.NET features introduced in the chapter: 
The 
WebCache
helper. 
Caching to Improve Website Responsiveness 
Every time someone requests a page from your site, the web server has to do some work in order to 
fulfill the request. For some of your pages, the server might have to perform tasks that take a 
(comparatively) long time, such as retrieving data from a database. Even if in absolute terms one of 
these tasks doesn't take long, if your site experiences a lot of traffic, a whole series of individual 
requests that cause the web server to perform the complicated or slow task can add up to a lot of work. 
This can ultimately affect the performance of the site. 
One way to improve the performance of your website in circumstances like this is to cache data. If your 
site gets repeated requests for the same information, and the information does not need to be modified 
for each person, and it's not time sensitive, instead of re-fetching or recalculating it, you can fetch the 
data once and then store the results. The next time a request comes in for that information, you just get 
it out of the cache. 
In general, you cache information that doesn't change frequently. When you put information in the 
cache, it's stored in memory on the web server. You can specify how long it should be cached, from 
seconds to days. When the caching period expires, the information is automatically removed from the 
cache. 
Note   Entries in the cache might be removed for reasons other than that they've expired. For 
example, the web server might temporarily run low on memory, and one way it can reclaim memory 
is by throwing entries out of the cache. As you'll see, even if you've put information into the cache, 
you have to check to be sure it's still there when you need it. 
Imagine your website has a page that displays the current temperature and weather forecast. To get this 
type of information, you might send a request to an external service. Since this information doesn't 
change much (within a two-hour time period, for example) and since external calls require time and 
bandwidth, it's a good candidate for caching. 
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
how to create bookmark in pdf automatically; add bookmark to pdf reader
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
delete bookmarks pdf; how to add bookmarks to pdf files
ASP.NET Web Pages Using The Razor Syntax 
Chapter 15 – Caching to Improve the Performance of Your Website 
170 
ASP.NET includes a 
WebCache
helper that makes it easy to add caching to your site and add data to the 
cache. In this procedure, you'll create a page that caches the current time. This isn't a real-world 
example, since the current time is something that does change often, and that moreover isn't complex 
to calculate. However, it's a good way to illustrate caching in action. 
1.
Add a new page named WebCache.cshtml to the website. 
2.
Add the following code and markup to the page: 
@{ 
var cacheItemKey = "Time"; 
var cacheHit = true; 
var time = WebCache.Get(cacheItemKey); 
if (time == null) { 
cacheHit = false; 
if (cacheHit == false) { 
time = @DateTime.Now; 
WebCache.Set(cacheItemKey, time, 1, false); 
<!DOCTYPE html> 
<html> 
<head> 
<title>WebCache Helper Sample</title> 
</head> 
<body> 
<div> 
@if (cacheHit) { 
@:Found the time data in the cache. 
} else { 
@:Did not find the time data in the cache. 
</div> 
<div> 
This page was cached at @time. 
</div> 
</body> 
</html> 
When you cache data, you put it into the cache using a name this is unique across the website. 
In this case, you'll use a cache entry named 
Time
. This is the 
cacheItemKey
shown in the code 
example. 
The code first reads the 
Time
cache entry. If a value is returned (that is, if the cache entry isn't 
null), the code just sets the value of the time variable to the cache data. 
However, if the cache entry doesn't exist (that is, it's null), the code sets the time value, adds it 
to the cache, and sets an expiration value to one minute. If the page isn't requested again within 
one minute, the cache entry is discarded. (The default expiration value for an item in the cache 
is 20 minutes.) 
C# Create PDF Library SDK to convert PDF from other file formats
file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields.
bookmark pdf acrobat; bookmarks pdf documents
VB.NET Create PDF Library SDK to convert PDF from other file
Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields in Visual Basic .NET application.
add bookmark pdf; excel pdf bookmarks
ASP.NET Web Pages Using The Razor Syntax 
Additional Resources 
171 
This code illustrates the pattern you should always use when you cache data. Before you get 
something out of the cache, always check first whether the 
WebCache.Get
method has returned 
null. Remember that the cache entry might have expired or might have been removed for some 
other reason, so any given entry is never guaranteed to be in the cache. 
3.
Run WebCache.cshtml in a browser. (Make sure the page is selected in the Files workspace 
before you run it.) The first time you request the page, the time data isn't in the cache, and the 
code has to add the time value to the cache. 
4.
Refresh WebCache.cshtml in the browser. This time, the time data is in the cache. Notice that 
the time hasn't changed since the last time you viewed the page. 
5.
Wait one minute for the cache to be emptied, and then refresh the page. The page again 
indicates that the time data wasn't found in the cache, and the updated time is added to the 
cache. 
Additional Resources 
Chapter 7 - Displaying Data in a Chart 
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create.
creating bookmarks pdf files; create pdf with bookmarks from word
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
export pdf bookmarks; copy bookmarks from one pdf to another
ASP.NET Web Pages Using The Razor Syntax 
Chapter 16 – Adding Security and Membership 
172 
Chapter 16 
Adding Security and Membership 
This chapter shows you how to secure your website so that some of the pages are available only to 
people who log in. (You'll also see how to create pages that anyone can access.) 
What you'll learn: 
How to create a website that has a registration page and a login page so that for some pages 
you can limit access to only members. 
How to create public and member-only pages. 
How to use CAPTCHA to prevent automated programs (bots) from creating member accounts. 
These are the ASP.NET features introduced in the chapter: 
The 
WebSecurity
helper. 
The 
SimpleMembership
helper. 
The 
ReCaptcha
helper. 
Introduction to Website Membership 
You can set up your website so that users can log into it — that is, so that the site supports membership. 
This can be useful for many reasons. For example, your site might have features that are available only 
to members. In some cases, you might require users to log in in order to send you feedback or leave a 
comment. 
Even if your website supports membership, users aren't necessarily required to log in before they use 
some of the pages on the site. Users who aren't logged in are known as anonymous users. 
A user can register on your website and can then log in to the site. The website requires a user name 
(often an email address) and a password to confirm that users are who they claim to be. This process of 
logging in and confirming a user's identity is known as authentication. 
In WebMatrix, you can use the Starter Site template to create a website that contains the following: 
A database that's used to store user names and passwords for your members. 
A registration page where anonymous (new) users can register. 
A login and logout page. 
A password recovery and reset page. 
Note   Although the Start Site template automatically creates these pages for you, in this chapter 
you'll create simplified versions of them manually in order to learn the basics of ASP.NET security 
and membership. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 16 – Adding Security and Membership 
173 
Creating a Website That Has Registration and Login Pages 
1.
Start WebMatrix. 
2.
In the Quick Start page, select Site From Template. 
3.
Select the Starter Site template and then click OK. WebMatrix creates a new site. 
4.
In the left pane, click the Files workspace selector. 
5.
In the root folder of your website, open the _AppStart.cshtml file, which is a special file that's 
used to contain global settings. It contains some statements that are commented out using the 
//
characters: 
@{ 
WebSecurity.InitializeDatabaseConnection("StarterSite", "UserProfile", "UserId", 
"Email", true); 
// WebMail.SmtpServer = "mailserver.example.com"; 
// WebMail.EnableSsl = true; 
// WebMail.UserName = "username@example.com"; 
// WebMail.Password = "your-password"; 
// WebMail.From = "your-name-here@example.com"; 
In order to be able to send email, you can use the 
WebMail
helper. This in turn requires access to 
an SMTP server, as described in Chapter 11 - Adding Email to your Website. That chapter 
showed you how to set various SMTP settings in a single page. In this chapter, you'll use those 
same settings, but you'll store them in a central file so that you don't have to keep coding them 
into each page. (You don't need to configure SMTP settings to set up a registration database; 
you only need SMTP settings if you want to validate users from their email alias and let users 
reset a forgotten password.) 
6.
Uncomment the statements. (Remove 
//
from in front of each one.) 
7.
Modify the following email-related settings in the code: 
Set 
WebMail.SmtpServer
to the name of the SMTP server that you have access to. 
Leave 
WebMail.EnableSsl
set to 
true
. This setting secures the credentials that are sent to the 
SMTP server by encrypting them.  
Set 
WebMail.UserName
to the user name for your SMTP server account. 
Set 
WebMail.Password
to the password for your SMTP server account. 
Set 
WebMail.From
to your own email address. This is the email address that the message is 
sent from. 
8.
Save and close _AppStart.cshtml. 
9.
Open the Default.cshtml file. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 16 – Adding Security and Membership 
174 
10.
Run the Default.cshtml page in a browser. 
11.
In the upper-right corner of the page, click the Register link. 
12.
Enter a user name and password and then click Register. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 16 – Adding Security and Membership 
175 
When you created the website from the Starter Site template, a database named StarterSite.sdf 
was created in the site's App_Data folder. During registration, your user information is added to 
the database. A message is sent to the email address you used so you can finish registering. 
13.
Go to your email program and find the message, which will have your confirmation code and a 
hyperlink to the site. 
14.
Click the hyperlink to activate your account. The confirmation hyperlink opens a registration 
confirmation page. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 16 – Adding Security and Membership 
176 
15.
Click the Login link, and then log in using the account that you registered. 
After you log in, the Login and Register links are replaced by a Logout link. 
16.
Click the About link. 
The About.cshtml page is displayed. Right now, the only visible change when you log in is a 
change to the logged-in status (the message Welcome Joe! and a Logout link). 
Note   By default, ASP.NET web pages send credentials to the server in clear text (as human-
readable text). A production site should use secure HTTP (https://, also known as the secure sockets 
layer or SSL) to encrypt sensitive information that's exchanged with the server. You can encrypt 
sensitive information by setting 
WebMail.EnableSsl=true
as in the previous example. For more 
information about SSL, see Securing Web Communications: Certificates, SSL, and https://
Creating a Members-Only Page 
For the time being, anyone can browse to any page in your website. But you might want to have pages 
that are available only to people who have logged in (that is, to members). ASP.NET lets you configure 
Documents you may be interested
Documents you may be interested