How to speed up site rebuild after compiling a DLL

by Joe Payne 6. Februarie 2015 07:29

Came across this little gem this morning.   Made a significant difference on my PC.

Here's the best one. Add this to your web.config for MUCH faster compilation.

<compilation optimizeCompilations="true">

Quick summary: we are introducing a new optimizeCompilations switch in ASP.NET that can greatly improve the compilation speed in some scenarios. There are some catches, so read on for more details. This switch is currently available as a QFE for 3.5SP1, and will be part of VS 2010.

The ASP.NET compilation system takes a very conservative approach which causes it to wipe out any previous work that it has done any time a ‘top level’ file changes. ‘Top level’ files include anything in bin and App_Code, as well as global.asax. While this works fine for small apps, it becomes nearly unusable for very large apps. E.g. a customer was running into a case where it was taking 10 minutes to refresh a page after making any change to a ‘bin’ assembly.

To ease the pain, we added an ‘optimized’ compilation mode which takes a much less conservative approach to recompilation.

Tags:

Tech Support | Personal | AbleCommerce Gold | AC7 Articles

Hosting Classic ASP on Server 2008 R2

by Joe Payne 3. Februarie 2015 15:31

Ran into a problem today trying to light up a Classic ASP site that was a copy of an existing site on the same server.   However HTTP 500 errors were all we could get.   Once we enabled debug logging in ASP, we saw that there was a problem with the ADODB connection being able to open the MSAccess database within the site folders.

 

Gotta remember to enable 32-bit apps in the application pool advanced settings.

 

Note: Microsoft Access databases have been popular for many years with developers who use Active Server Pages (ASP) for small-scale applications, but Microsoft Access databases are not designed for scalability, therefore Access databases should only be used where performance is not a factor, and it is best not to host large-scale data-driven applications with Microsoft Access databases.

In IIS 7.0, IIS 7.5, and above, several security changes were made that may affect how classic ASP applications will function. For example, if you were to copy a classic ASP application that uses an Access database that is within the Web site's content area to a server that uses IIS 7.0 or above, you may receive the following error message:

Microsoft JET Database Engine error '80004005'
Unspecified error.
/example.asp, line 100

This is a generic error triggered by the Access driver that may occur for a variety of reasons, but incorrect permissions is a common cause. More specifically, the ability to work with Microsoft Access databases is implemented through the Microsoft JET Database Engine, which creates various temporary and lock files when it connects to an Access database. The following sections will discuss some of the reasons why this may occur and how to resolve those situations.

Working with 64-bit Systems

Unfortunately there are no 64-bit ODBC drivers, so on 64-bit systems you will have to run your applications in 32-bit mode. To do so, use the following steps:

  1. On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
  2. In the Connections pane, click Application Pools.
  3. Highlight the application pool for your application, then click Advanced Settings... in the Actions pane.
  4. In the Advanced Settings dialog, specify True for Enable 32-Bit Applications.
  5. Click OK to close the Advanced Settings dialog.

Tags: ,

Personal | Tech Support

TortoiseSVN missing icons in Windows 7

by Joe Payne 13. Januarie 2015 08:35

Been scratching me head for a while now as to why my Windows Explorer icons for TortoiseSVN were suddenly missing.

After some digging, it appears that DropBox updated itself and added some more shell overlay extensions.   Since Windows 7 only supports 11 overlays, this pushed the Tortoise icon entries too low in the list.

The solution was simple:  edit the registry hive: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers

and remove the unwanted registry entries so that the TortoiseSVN entries are in the first 11 found.

image

Tags: , ,

Personal | Tech Support

SQL 2012 Management Studio hangs clicking Files menu during database restore

by Joe Payne 25. Julie 2014 10:22

I’ve had this nagging issue for months now.   Every time I go to restore a database from a backup file, I cannot click the Files menu in the left sidebar.   This didn’t happen in SQL Server Management Studio 2008.    But it happens every time in SQL Server Management Studio 2012.

I enjoy using SSMS, it works well for my needs.  So it got very frustrating that it would lock up when I needed it most.

I finally took the time to research and thought maybe a newer version had been released since I downloaded it.  So installed the SQL Server 2012 Service Pack 2 update and sure enough, it fixed the problem.

The download link for the Service Pack is http://www.microsoft.com/en-us/download/confirmation.aspx?id=43340

Tags: , ,

Tech Support | Personal

AbleCommerce Gold How To Clean Up Anonymous Users

by Joe Payne 14. April 2014 15:45

Even though Able Gold has a manual cleanup option in the Maintenance page, it doesn’t always work well.  The problem arises from how Able must delete each user individually.  Not such a big deal when you have 500 users to clear out.  

It’s a very different story when you have 2,000,000 unwanted users.   A SQL query can delete all of the unwanted records in a single command.

Below is the updated query to work with Able Gold schema.  Obviously change the dates to something more recent. 

If the queries do not remove as many records as you expected, you might want to remove the “AND (AffiliateId IS NOT NULL)” criteria if you don’t care about affiliate reporting.

use <yourdbname>
DELETE FROM ac_Baskets 
WHERE UserId IN (SELECT UserId FROM ac_Users WHERE StoreId = 1 AND IsAnonymous = 1 
AND (AffiliateId IS NOT NULL ) 
AND (LastActivityDate IS NULL OR LastActivityDate <'June 30, 2009'))
 
DELETE FROM ac_Wishlists
WHERE UserId IN (SELECT UserId FROM ac_Users WHERE StoreId = 1 AND IsAnonymous = 1 
AND (AffiliateId IS NOT NULL ) 
AND (LastActivityDate IS NULL OR LastActivityDate <'June 30, 2009'))
 
DELETE FROM ac_Users 
WHERE StoreId = 1 AND IsAnonymous = 1 
AND (AffiliateId IS NOT NULL ) 
AND (LastActivityDate IS NULL OR LastActivityDate <'June 30, 2009')

Tags: , , ,

AbleCommerce Gold | Tech Support

Month List