ASP.NET 3.5 Social Networking
图书信息
| 作者 | Andrew Siemer |
| 出版社 | Packt Publishing |
| ISBN | 9781847194794 |
| 出版时间 | 2008-12-11 |
| 字数 | 1667.8万 |
| 分类 | 进口书,外文原版书,电脑,网络 |
读书简介
Each chapter starts by showing the user experience we are going to create in the chapter. It then has a section discussing the major design decisions we face in building these features, and finally presents the 'solution' including the overall architecture and highlighting the most important code elements. The book presents a lot of real-world code, with comprehensive explanation and discussion. The full social network application is available for download from the Packt website, for you to examine, study, and modify. This book is written for ASP.NET and C# developers who want to build an enterprise-grade Social Network, either for their own business purposes or as a contract job for another company. The book assumes you have prior experience of developing web applications using ASP.NET 3.5, C# 3.0, SQL Server 2005/2008, and Visual Studio .NET 2008; it focuses on topics that will be of interest to existing developers not on providing step-by-step examples for each detail.
目录
ASP.NET 3.5 Social Networking
Table of Contents
ASP.NET 3.5 Social Networking
Credits
About the Author
About the Reviewer
Preface
What This Book Covers
What You Need for This Book
Who is This Book For
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Piracy
Questions
1. Social Networking
What makes this topic so important
Large communities
Niche communities
Once I have my own social network, then what?
Customer service
Content moderation
Growing infrastructure requirements
Our social network—Fisharoo
This book's approach
Problem
Design
Solution
Features of our social network
Accounts
Profiles
Friends
Messaging
Media galleries
Blogging
Message boards
Groups
Comments
Tags
Ratings
Framework
Scaling up
Summary
2. An Enterprise Approach to our Community Framework
A layered architecture versus a non-layered architecture
Layers
Domain-driven Design
Ubiquitous language
Entities
Value objects
Services
Modules
Aggregates
Factories
Repositories
Model View Presenter pattern
Model
View
Presenter
How it works
Factory pattern using StructureMap
Repository pattern and LINQ
Wrappers for everything!
Configuration
Cache
Session
Redirection
Error handling and logging
Error handling
Logging
Summary
3. User Accounts
Problem
Design
Registration
Accounts
Password strength
Terms and conditions
CAPTCHA
Email confirmation and verification
Security
Permissions
Password encryption/decryption
Logging in
Password reminder
Manage account
Solution
Implementing the database
The Accounts table
The Permissions table
The AccountPermissions table
The Terms table
Creating the relationships
Implementing the data access layer
Setting up LINQ for the first time
A DataContext wrapper
Building repositories
Selecting accounts
Saving an account
Deleting an account
Adding permissions to an account
The other repositories
Permissions repository
Terms repository
Implementing the services/application layer
Extension methods
Implementing the business/domain layer
Implementing the presentation layer
Model view presenter
View
Presenter
Model
Registration page
Email verification
Password recovery
Edit account
Implementing security
SiteMap
SiteMap wrapper
All nodes
Navigation
Checking access
Security
Implementing navigation and security
Summary
4. User Profiles
Problem
Design
Profile
Manage profile
Avatar
Custom avatars
Gravatar
Public profile
Custom homepage
Privacy
News feed
Solution
Implementing the database
The Profiles table
Level of Experience
The Attributes table
The Privacy table
The Alerts table
Creating the relationships
Setting up the data access layer
Building repositories
Implementing the services/application layer
ProfileService
Account service
Privacy service
Alert service
Profile Attribute Service
Implementing the presentation layer
Privacy
Manage privacy
Manage profile
Avatar
Upload avatar
Image manipulation
Gravatar
Public profile
Custom homepage
News feed
Summary
5. Friends
Problem
Design
Friends
Finding Friends
Searching for a Friend
Inviting a Friend
Importing Friends from External Sources
Sending an Invitation
Adding Friend Alerts to The Filter
Interacting With Your Friends
Viewing Your Friends
Managing your friends
Following Your Friends
Providing Status Updates to Your Friends
Solution
Implementing the Database
The Friends Table
Friend Invitations
Status Updates
Creating the Relationships
Friends Constraints
FriendInvitations constraints
StatusUpdates constraints
Setting Up the Data Access Layer
Building Repositories
FriendRepository
FriendInvitationRepository
StatusUpdateRepository
AccountRepository
Implementing the Services/Application Layer
FriendService
AlertService
PrivacyService
Implementing the Presentation Layer
Searching for Friends
SiteMaster
Search
Invite Your Friends
Outlook CSV Importer
Importing Contacts
Selecting Contacts
Confirm Friendship
Login
Registration
Show Friends
Friends on Profile
Status Updates
Summary
6. Messaging
Problem
Design
Messages
Recipients
Solution
Implementing the database
Messages
MessageTypes
MessageRecipients
MessageRecipientTypes
MessageStatusTypes
MessageFolders
Creating the relationships
Setting up the data access layer
Building repositories
MessageRepository
MessageRecipientRepository
Implementing the services/application layer
MessageService
AlertService
FriendService
Implementing the presentation layer
New message
Friends control
Default (or Inbox)
Folders
Read message
Summary
7. Media Galleries
Problem
Design
Files
Folders
File upload
File system management
Data management screens
Solution
Implementing the database
Files
File system folders
File types
Folders
Folder types
Account folders
Account files
Folder files
Creating the relationships
Setting up the data access layer
Building repositories
FileRepository
FolderRepository
Implementing the services/application layer
FolderService
Implementing the presentation layer
File upload
Receiving files
Testing our receiver
Multi-file upload
Photo albums
MyPhotos
ViewAlbum
Summary
8. Blogs
Problem
Design
Blogs
Solution
Implementing the database
Blogs
Creating the relationships
Setting up the data access layer
Building repositories
Implementing the services/application layer
AlertService
Implementing the presentation layer
Latest blog posts
My blog posts
Fancy URL support
View post
Create or edit post
Summary
9. Message Boards
Problem
Design
Categories
Forums
Threads and Posts
Friendly URLs
Alerts
Solution
Implementing the Database
Categories
Forums
Posts
Creating the Relationships
Setting Up the Data Access Layer
Building Repositories
BoardCategoryRepository
BoardForumRepository
BoardPostRepository
Implementing the Services/Application layer
BoardService
AlertService
Implementing the Presentation Layer
Default.aspx
Redirector
UrlRewrite
ViewForum.aspx
ViewPost.aspx
Post.aspx
Summary
10. Groups
Problem
Design
Groups
GroupMembers
GroupTypes
GroupForums
Schema
Solution
Implementing the database
Groups
GroupMembers
GroupTypes
GroupForums
Creating the relationships
Setting up the data access layer
Building repositories
GroupRepository
GetGroupByForumID
IsOwner
CheckIfGroupPageNameExists
DeleteGroup
GroupToGroupTypeRepository
SaveGroupTypesForGroup
GroupForumRepository
GroupMemberRepository
GetMemberAccountIDsByGroupID
DeleteGroupMembers
GroupTypeRepository
AccountRepository
GetApprovedAccountsByGroupID
GetAccountsToApproveByGroupID
Implementing the services/application layer
GroupService
IsOwnerOrAdministrator
SaveGroup
AlertService
Redirector
WebContext
Implementing the presentation layer
ManageGroup
WYSIWYG
Image upload
Members
Data pagination
CheckBoxLists without the CheckBoxList control
Default
UrlRewrite
ViewGroup
Private/Public
MyGroups
Forum enhancements
Summary
11. Comments, Tags, and Ratings
Problem
Ratings
Tagging
Commenting
Design
Ratings
Tags
Comments
Solution
Implementing the database
SystemObjects
Ratings
System object rating options
Tags
System object tags
Comments
Creating the relationships
Setting up the data access layer
Building repositories
RatingRepository
HasRatedBefore()
GetCurrentRating()
SaveRatings()
SystemObjectRatingOptionRepository
TagRepository
GetTagByName()
GetTagByID()
GetTagsGlobal()
GetTagsBySystemObject()
GetTagsBySystemObjectAndRecordID()
SystemObjectTagRepository
GetSystemObjectByTagID()
CommentRepository
GetCommentsBySystemObject()
Implementing the services/application layer
TagService
AddTag()
CalculateFontSize()
Extensions
ShuffleList()
WebContext
SelectedRatings
ClearSelectedRatings
TagID
Configuration
Implementing the presentation layer
Comments Page
Comments.ascx
Comments.ascx.cs
CommentsPresenter.cs
Ratings Page
Ratings.ascx
Ratings.ascx.cs
RatingsPresenter.cs
Tags Page
Tags.ascx
Tags.ascx.cs
TagsPresenter.cs
Installing the new user controls
UrlRewrite.cs
Tags page
Tags.aspx
Tags.aspx.cs
TagsPresenter.cs
Summary
12. Moderation
Problem
Community moderation
Gagging users
Dynamic filter
Cross-site scripting (XSS)
Design
Moderation
Gags
Filtering
Solution
Implementing the database
Moderations
Gags
ContentFilters
Creating the relationships
Setting up the data access layer
Building repositories
ModerationRepository
GetModerationsGlobal()
GagRepository
ContentFilterRepository
Implementing the services/application layer
ContentFilterService
Extensions
Implementing the presentation layer
Moderation
The user control
Moderating flagged content
Gagging
Filtering
Summary
13. Scaling Up
Problem
Design
Database optimization
Flagged for delete
Indexing
Partitioning
Web farming
Caching
Searching
Solution
Database optimization
Indexing
Partitioning
FileGroups
Partition function
Partition scheme
Partition tables
How does this affect our current system?
Gotchas
Web farming
Caching
The server
The client
Using the client
Starting the cache layer
Where do I start?
Searching
Getting Lucene.NET
Building indexes
Building the search
Creating services to send email
The database
Services
Serializing email
Connecting the new DBMailQueueService
The queue
Processing the queue
Summary
Index
- 多彩物品-宝宝全彩启蒙书(胡建)
- 基础会计实训 第三版 会计专业(杨蕊)
- 离散数学简明教程(朱怀宏)
- 应用文写作(倪斯雯)
- 学前儿童感觉统合训练(南姣鹏主编)
- 本心诗话 : 中国百年新诗的原理与实践微观察(王瑛)
- 智慧护理基本技能(夏立平,朱唯一)
- 岳阳楼(邹律资)
