Generating a plain index of dynamic user pages?
<p>My site is a business directory. Different businesses on the site have subpages that can be accessed with a URL like <code>http://mysite.com/businessname</code>. Behind the scenes, I'm using url rewriting to point those subpages to a page like <code>http://mysite.com/businesspage.aspx?id=[businessIDGuid]</code>.</p>

<p>I want the business pages to appear in search engines, and to do that I need to create links to them. Users can find businesses using the search tool on my site, but this isn't usable by search engines.</p>

<p>I thought that I should create a flat index page, with the names of every business in my database, and a link to their subpage. However, there are lots of businesses in my database (around 160,000 at the moment) so I can't really put all of them on one page. Also, the obvious way to generate these pages - having an sql query called in the <code>page_load</code> method that pulls back a list of all businesses - would put quite a lot of load on the server. It would make sense to generate a page and cache it for a day or so, but I don't know how to do this while staying within the context of asp.net.</p>

<p>What is the best way to generate an index of user pages in asp.net?</p>
