IMPROVING .NET APPLICATION PERFORMANCE AND SCALABILITY: Corrections and Comments

Article translations Article translations
Article ID: 843327
Expand all | Collapse all

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 "STRVIEWSTATE" is written in various forms. The correct form is strViewState

Properties

Article ID: 843327 - Last Review: June 20, 2014 - Revision: 2.0
Keywords: 
kbtshoot kbdocfix kbdocerr KB843327

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com