Microsoft Knowledge Base Email Alertz

(843327) - This article contains comments, corrections, and information about known errors relating to the Microsoft Patterns & Practices book Improving .NET Application Performance and Scalability, ISBN 0-7356-1851-8 Web version of the book is updated as we...

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 843327 - Last Review: May 8, 2007 - Revision: 1.9

IMPROVING .NET APPLICATION PERFORMANCE AND SCALABILITY: Corrections and Comments

SUMMARY

This article contains comments, corrections, and information about known errors relating to the Microsoft Patterns & Practices book Improving .NET Application Performance and Scalability, ISBN 0-7356-1851-8

Web version of the book is updated as we find the errors. You may find many or all of the errors below are already corrected in the web version of the book on MSDN.

The following topics are covered:
  • Page 150, Chapter 4: Architecture and Design Review of a .NET Application for Performance and Scalability, Section: Do You Have Secure Communication Requirements?, Sub-section: Do you use the right encryption algorithm and key size?, Second last sentence
  • Page 317, Chapter 6: Improving ASP.NET Performance, Section: String Management, Last sentence
  • Page 854, Checklist: ASP.NET Performance, Section: String Management, 3rd row in the table
  • Page 869, Checklist: Managed Code Performance, Section: Native Image Generator (Ngen.exe), 2 rows added to the table
  • Page 924, How To: Page Records in .NET Applications, Section: User Specific Records, 2nd Code Snippet in this section
  • Page 967, How To: Submit and Poll for Long-Running Tasks, Section: Implement the Callback Method, Last code line in this section
  • Page 997, How To: Use ACT to Test Performance and Scalability, Section: ViewState, Point 5

MORE INFORMATION

Page 150, Chapter 4: Architecture and Design Review of a .NET Application for Performance and Scalability, Section: Do You Have Secure Communication Requirements?, Sub-section: Do you use the right encryption algorithm and key size?, Second last sentence
http://msdn2.microsoft.com/en-us/library/ms998544.aspx (http://msdn2.microsoft.com/en-us/library/ms998544.aspx)

Change:
Asymmetric encryption provides improved security but has a much greater performance impact.

To:
Asymmetric encryption provides improved security but has a greater negative impact on performance.


Page 317, Chapter 6: Improving ASP.NET Performance, Section: String Management, Last sentence
http://msdn2.microsoft.com/en-us/library/ms998549.aspx (http://msdn2.microsoft.com/en-us/library/ms998549.aspx)

Change:
HttpTextWriter

To:
HtmlTextWriter


Page 854, Checklist: ASP.NET Performance, Section: String Management, 3rd row in the table
http://msdn2.microsoft.com/en-us/library/ms998596.aspx (http://msdn2.microsoft.com/en-us/library/ms998596.aspx)

Change:
HttpTextWriter

To:
HtmlTextWriter


Page 869, Checklist: Managed Code Performance, Section: Native Image Generator (Ngen.exe), 2 rows added to the table
http://msdn2.microsoft.com/en-us/library/ms979052.aspx (http://msdn2.microsoft.com/en-us/library/ms979052.aspx)

Add following 2 rows at the end of the table:
  • Install assemblies in the GAC if you want to use NGEN to get the best performance.
  • A setup application for an update of a library assembly should run the ‘Ngen.exe update’ command.


Page 924, How To: Page Records in .NET Applications, Section: User Specific Records, 2nd Code Snippet in this section
http://msdn2.microsoft.com/en-us/library/ms979197.aspx (http://msdn2.microsoft.com/en-us/library/ms979197.aspx)

Change:
CREATE PROCEDURE UserPaging
(
@currentPage int = 1, @pageSize int =10
)
AS
DECLARE @Out int, @rowsToRetrieve int, @SQLSTRING nvarchar(1000)
SET @rowsToRetrieve = (@pageSize * @currentPage)
SET NOCOUNT ON
SET @SQLSTRING = N' SELECT TOP ' + CAST(@pageSize as varchar(10)) +
'CustomerID,CompanyName,ContactName,ContactTitle
FROM (SELECT TOP ' + CAST(@rowsToRetrieve as varchar(10)) +
'CustomerID,CompanyName,ContactName,ContactTitle FROM Customers as T1
ORDER BY contactname DESC)
AS T2 ORDER BY contactname ASC'
EXEC(@SQLSTRING)
RETURN
GO


To:
CREATE PROCEDURE UserPaging
(
  @currentPage int = 1, @pageSize int =10
)
AS
  DECLARE @Out int, @rowsToRetrieve int, @SQLSTRING nvarchar(1000)
 
  SET @rowsToRetrieve = (@pageSize * @currentPage)
 
  SET NOCOUNT ON
  SET @SQLSTRING = N'select CustomerID,CompanyName,ContactName,ContactTitle from ( SELECT TOP '+ CAST(@pageSize as varchar(10)) + 'CustomerId,CompanyName,ContactName,ContactTitle from (SELECT TOP ' + CAST(@rowsToRetrieve as varchar(10)) + 
      'CustomerID,CompanyName,ContactName,ContactTitle 
    FROM (SELECT TOP ' + CAST(@rowsToRetrieve as varchar(10)) + 
        'CustomerID,CompanyName,ContactName,ContactTitle FROM Customers as T1 
         ORDER BY contactname) AS T2 ORDER BY contactname DESC ) AS T3) As T4 ORDER BY contactname ASC'
 
  EXEC(@SQLSTRING)
  RETURN
  GO



Page 967, How To: Submit and Poll for Long-Running Tasks, Section: Implement the Callback Method, Last code line in this section
http://msdn2.microsoft.com/en-us/library/ms979200.aspx (http://msdn2.microsoft.com/en-us/library/ms979200.aspx)

Change:
BeginLongRunningTask(ar)

To:
EndLongRunningTask(ar)


Page 997, How To: Use ACT to Test Performance and Scalability, Section: ViewState, Point 5
http://msdn2.microsoft.com/en-us/library/ms979202.aspx (http://msdn2.microsoft.com/en-us/library/ms979202.aspx)

Change:
viewst

To:
strViewState

Also in various places in this section the term "STRVIEWSTATE" is written in various forms. The correct form is strViewState


APPLIES TO
  • MSPRESS Improving .NET Application Performance and Scalability, ISBN 0-7356-1851-8
Keywords: 
kbtshoot kbdocfix kbdocerr KB843327
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate