1. Trang chủ
  2. » Công Nghệ Thông Tin

Professional ASP.NET 3.5 in C# and Visual Basic Part 154 pdf

10 192 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Instrumentation Using The TemplatedMailWebEventProvider
Tác giả Evjen
Trường học University of Example
Chuyên ngành Computer Science
Thể loại Thesis
Năm xuất bản 2008
Thành phố Example City
Định dạng
Số trang 10
Dung lượng 525,62 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

In addition to a number of GUI-based management and administration tools covered in the next chapter, you can now record and send notifications about the health good or bad of your ASP.N

Trang 1

Using the TemplatedMailWebEventProvider

Another option for e-mailing Web events is to use theTemplatedMailWebEventProviderobject This

works basically the same as theSimpleMailWebEventProvider, but theTemplatedMailWebEvent

Providerallows you to create more handsome e-mails (they might get noticed more) As with the other providers, you use the<add />element within the<providers>section to add this provider This process

is illustrated in Listing 32-13

Listing 32-13: Adding a TemplatedMailWebEventProvider

<add name="TemplatedMailProvider"

type="System.Web.Management.TemplatedMailWebEventProvider, System.Web,

Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

template=" /MailTemplates/ErrorNotification.aspx"

from="website@company.com"

to="admin@company.com"

cc="adminLevel2@company.com"

bcc="director@company.com"

subjectPrefix="Action required."

buffer="false"

detailedTemplateErrors="true"

maxMessagesPerNotification="1" />

After the provider is added, you also need to add a rule that uses this provider in some fashion (as you

do with all the other providers) You add it by referencing theTemplatedMailWebEventProvidername within the provider attribute of the<add />element contained in the<rules>section Be sure to set up the<smtp>section, just as you did with theSimpleMailWebEventProvider

After these items are in place, the next step is to create anErrorNotification.aspxpage This page

construction is illustrated in Listing 32-14

Listing 32-14: Creating the ErrorNotification.aspx page

VB

<%@ Page Language="VB" %>

<%@ Import Namespace="System.Web.Management" %>

<script runat="server">

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Dim meni As MailEventNotificationInfo = _ TemplatedMailWebEventProvider.CurrentNotification Label1.Text = "Events Discarded By Buffer: " & _ meni.EventsDiscardedByBuffer.ToString() Label2.Text = "Events Discarded Due To Message Limit: " & _ meni.EventsDiscardedDueToMessageLimit.ToString()

Label3.Text = "Events In Buffer: " & meni.EventsInBuffer.ToString() Label4.Text = "Events In Notification: " & _

meni.EventsInNotification.ToString() Label5.Text = "Events Remaining: " & meni.EventsRemaining.ToString() Label6.Text = "Last Notification UTC: " & _

meni.LastNotificationUtc.ToString() Label7.Text = "Number of Messages In Notification: " & _

Continued

Trang 2

Chapter 32: Instrumentation

meni.MessagesInNotification.ToString() DetailsView1.DataSource = meni.Events DetailsView1.DataBind()

End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml">

<head></head>

<body>

<form id="form1" runat="server">

<asp:label id="Label1" runat="server"></asp:label><br />

<asp:label id="Label2" runat="server"></asp:label><br />

<asp:label id="Label3" runat="server"></asp:label><br />

<asp:label id="Label4" runat="server"></asp:label><br />

<asp:label id="Label5" runat="server"></asp:label><br />

<asp:label id="Label6" runat="server"></asp:label><br />

<asp:label id="Label7" runat="server"></asp:label><br />

<br />

<asp:DetailsView ID="DetailsView1" runat="server" Height="50px"

Width="500px" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None"

BorderWidth="1px" CellPadding="3" GridLines="Horizontal">

<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />

<EditRowStyle BackColor="#738A9C" Font-Bold="True"

ForeColor="#F7F7F7" />

<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />

<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C"

HorizontalAlign="Right" />

<HeaderStyle BackColor="#4A3C8C" Font-Bold="True"

ForeColor="#F7F7F7" />

<AlternatingRowStyle BackColor="#F7F7F7" />

</asp:DetailsView>

</form>

</body>

</html>

C#

<%@ Page Language="C#" %>

<%@ Import Namespace="System.Web.Management" %>

<script runat="server">

protected void Page_Load(object sender, EventArgs e)

{

MailEventNotificationInfo meni = TemplatedMailWebEventProvider.CurrentNotification;

Label1.Text = "Events Discarded By Buffer: " + meni.EventsDiscardedByBuffer.ToString();

Label2.Text = "Events Discarded Due To Message Limit: " + meni.EventsDiscardedDueToMessageLimit.ToString();

Label3.Text = "Events In Buffer: " + meni.EventsInBuffer.ToString();

Label4.Text = "Events In Notification: " + meni.EventsInNotification.ToString();

Continued

1496

Trang 3

Label5.Text = "Events Remaining: " + meni.EventsRemaining.ToString();

Label6.Text = "Last Notification UTC: " +

meni.LastNotificationUtc.ToString();

Label7.Text = "Number of Messages In Notification: " +

meni.MessagesInNotification.ToString();

DetailsView1.DataSource = meni.Events;

DetailsView1.DataBind();

}

</script>

To work with theTemplatedMailWebEventProvider, you first import theSystem.Web.Management

namespace This is done so you can work with theMailEventNotificationInfoand

TemplatedMail-WebEventProviderobjects You first create an instance of theMailEventNotificationInfoobject and

assign it a value of theTemplatedMailWebEventProvider.CurrentNotficationproperty Now, you

have access to an entire series of values from the Web event that was monitored

This e-mail message is displayed in Figure 32-15

Figure 32-15

As you can see in this figure, the e-mail message is more readable in this format

Trang 4

Chapter 32: Instrumentation

Summar y

Whereas ASP.NET 1.x was really focused on the developer, ASP.NET 2.0 and 3.5 have made tremendous

inroads into making life easier for the administrator of the deployed ASP.NET application In addition

to a number of GUI-based management and administration tools (covered in the next chapter), you can

now record and send notifications about the health (good or bad) of your ASP.NET applications using

the ASP.NET health monitoring capabilities

1498

Trang 5

Administration and Management

You have almost reached the end of this book; you have been introduced to ASP.NET 3.5 with its

wonderful features designed to help you become a better and more efficient programmer However,

with all advancement comes complexity, as is the case in the areas of ASP.NET configuration and

management The good news is that the ASP.NET development team realized this and provided

tools and APIs that enable developers to configure and manage ASP.NET–based applications with

reliability and comfort

This chapter covers these tools in great detail in an effort to educate you about some of the options

available to you This chapter explores two powerful configuration tools: the ASP.NET Web Site

Administration Tool, a Web-based application, and the IIS Manager, which is used to configure

your ASP.NET applications

The ASP.NET Web Site Administration Tool

When ASP.NET was first released, it introduced the concept of an XML-based configuration file for

its Web applications Thisweb.configfile is located in the same directory as the application itself

It is used to store a number of configuration settings, some of which can override configuration

settings defined inmachine.configfile or in the root server’sweb.configfile Versions of ASP.NET

before ASP.NET 2.0, however, did not provide an administration tool to make it easy to configure

the settings Because of this, a large number of developers around the world ended up creating their

own configuration tools to avoid having to work with the XML file manually

The ASP.NET Web Site Administration Tool enables you to manage Web site configuration through

a simple, easy-to-use Web interface It eliminates the need for manually editing theweb.configfile

If noweb.configfile exists when you use the administration tool for the first time, it creates one

By default, the ASP.NET Web Site Administration Tool also creates the standardASPNETDB.MDF

SQL Server Express Edition file in theApp_Datafolder of your Web site to store application data

Trang 6

Chapter 33: Administration and Management

The changes made to most settings in the ASP.NET Web Site Administration Tool take effect

immediately You find tm reflected in theweb.configfile

The default settings are automatically inherited from any configuration files that exist in the root

folder of a Web server The ASP.NET Web Site Administration Tool enables you to create or update

your own settings for your Web application You can also override the settings inherited from

uplevel configuration files, if an override for those settings is allowed If overriding is not permitted,

the setting appears dimmed in the administration tool

The ASP.NET Web Site Administration Tool is automatically installed during installation of the

.NET Framework version 3.5 To use the administration tool to administer your own Web site, you

must be logged in as a registered user of your site and you must have read and write permissions

toweb.config

You cannot access the ASP.NET Web Site Administration Tool remotely or even locally through

IIS Instead, you access it with Visual Studio 2008, which, in turn, uses its integrated web server

(formally named Cassini) to access the administration tool

In order to access this tool through Visual Studio 2008, open the website and click the ASP.NET

Configuration button found in the menu located at the top of the Solution Explorer pane Another

way to launch this tool is to select ASP.NET Configuration from the Website option in the main

Visual Studio menu Figure 33-1 shows the ASP.NET Web Site Administration Tool’s

welcome page

Figure 33-1

The ASP.NET Web Site Administration Tool features a tabbed interface that groups related

con-figuration settings The tabs and the concon-figuration settings that they manage are described in the

following sections

1500

Trang 7

The Home Tab

The Home tab (shown previously in Figure 33-1) is a summary that supplies some basic

informa-tion about the applicainforma-tion you are monitoring or modifying It provides the name of the applicainforma-tion

and the current user context in which you are accessing the application In addition, you see links

to the other administration tool tabs that provide you with summaries of their settings To make

any changes to your Web application, you simply click the appropriate tab or link

Remember that most changes to configuration settings made using this administration tool take

effect immediately, causing the Web application to be restarted and currently active sessions

to be lost if you are using an InProc session The best practice for administrating ASP.NET is to

make configuration changes to a development version of your application and later publish these

changes to your production application That’s why this tool can’t be used outside of Visual

Studio

Some settings (those in which the administration tool interface has a dedicated Save button) do

not save automatically You can lose the information typed in these windows if you do not click

the Save button to propagate the changes you made to theweb.configfile The ASP.NET Web Site

Administration Tool also times out after a period of inactivity Any settings that do not take effect

immediately and are not saved will be lost if this occurs

As extensive as the ASP.NET Web Site Administration Tool is, it manages only some of the

config-uration settings that are available for your Web application All other settings require modification

of configuration files manually, by using the Microsoft Management Console (MMC) snap-in for

ASP.NET if you are using Windows XP, using the Internet Information Services (IIS) Manager if

you are using Windows Vista, or by using theConfigurationAPI

The Security Tab

Use the Security tab to manage access permissions to secure sections of your Web application, user

accounts, and roles From this tab, you can select whether your Web application is accessed on an

intranet or from the Internet If you specify the intranet, Windows-based authentication is used;

otherwise, forms-based authentication is configured The latter mechanism relies on you to manage

users in a custom data store, such as SQL Server database tables The Windows-based authentication

employs the user’s Windows logon for identification

User information is stored in a SQL Server Express database by default (ASPNETDB.MDF) The

database is automatically created in theApp_Datafolder of the Web application It is recommended

that you store such sensitive information on a different and more secure database, perhaps located

on a separate server Changing the data store might mean that you also need to change the

under-lying data provider To accomplish this, you simply use the Provider tab to select a different data

provider The Provider tab is covered later in this chapter

You can configure security settings on this tab in two ways: select the Setup Wizard, or simply use

the links provided for the Users, Roles, and Access Management sections Figure 33-2 shows the

Security tab

You can use the wizard to configure initial settings Later, you learn other ways to create and modify

security settings

Trang 8

Chapter 33: Administration and Management

Figure 33-2

The Security Setup Wizard

The Security Setup Wizard provides a seven-step process ranging from selecting

the way the user will be authenticated to selecting a data source for storing user

information This is followed by definitions of roles, users, and access rules

Be sure to create all folders that need special permissions before you engage the

wizard.

Follow these steps to use the Security Setup Wizard:

1. The wizard welcome screen (shown in Figure 33-3) is informational only It educates you

on the basics of security management in ASP.NET When you finish reading the screen, click

Next

2. Select your access method (authentication mechanism) You have two options:

From the Internet:Indicates you want forms-based authentication You must use your

own database of user information This option works well in scenarios where non-em-ployees need to access the Web application

From a Local Area Network:Indicates users of this application are already

authen-ticated on the domain You do not have to use your own user information database

Instead, you can use the Windows web server domain user information

Figure 33-4 shows the screen for Step 2 of the process

1502

Trang 9

Figure 33-3

Select From the Internet, and click the Next button.

3. Select Access Method As mentioned earlier, the ASP.NET Web Site Administration Tool

uses SQL Server Express Edition by default You can configure additional providers on the

Providers tab In the Step 3 screen shown in Figure 33-5, only an advanced provider is

dis-played because no other providers have been configured yet Click Next

4. Define Roles If you are happy with all users having the same access permission, you can

simply skip this step by deselecting the Enable Roles for This Web Site check box If this box

is not checked, clicking the Next button takes you directly to the User Management screens Check this box to see how to define roles using this wizard

The screen from Step 4 is shown in Figure 33-6 When you are ready, click Next

The next screen (see Figure 33-7) in the wizard enables you to create and delete roles The

roles simply define categories of users Later, you can provide users and access rules based

on these roles Go ahead and create roles for Administrator, Human Resources, Sales, and

Viewer Click Next

5. Add New Users Earlier, you selected the From the Internet option, so the wizard assumes

that you want to use forms authentication and provides you with the option of creating and managing users The From a Local Area Network option, remember, uses Windows-based

authentication

Trang 10

Chapter 33: Administration and Management

Figure 33-4

Figure 33-5

1504

Ngày đăng: 05/07/2014, 19:20

TỪ KHÓA LIÊN QUAN