Microsoft KB Archive/843327

= IMPROVING .NET APPLICATION PERFORMANCE AND SCALABILITY: Corrections and Comments =

Article ID: 843327

Article Last Modified on 5/8/2007

-

APPLIES TO


 * MSPRESS Improving .NET Application Performance and Scalability, ISBN 0-7356-1851-8

-



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

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

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

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

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

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

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

Change:

viewst

To:

strViewState

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

Additional query words: 0-7356-1851-8 0735618518 performance scalability

Keywords: kbtshoot kbdocfix kbdocerr KB843327

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.