ASP.NET Process Recycling Too Often#

I'm not going to write too much about this, but we have been seeing a LOT of recycles of our web application, which makes us lose session for everyone logged it.

I am just going to archive a few links I have been using to track down this problem.

ScottGu has some reflection code to get the reason the process is shutting down that I converted to vb.net

Scott Gu's Article

And here are some places discussing the issue:

asp.net thread

Todd Carter's Blog Article

Scott Forsyth's Blog Article

Categories:  |  | 
Wednesday, April 11, 2007 9:34:58 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ASP.NET Design Patterns#
Categories:  |  |  | 
Wednesday, April 11, 2007 9:17:54 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Neural Network#

This article shows a open source neural network component that the author uses for verification of written characters.
Categories:  | 
Tuesday, April 10, 2007 2:37:46 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Controlling Programs Remotely#

It looks like from this article that the author is showing how to use remoting to interact with a windows form running on a server.

http://www.codeproject.com/csharp/RemoteWinControls.asp

Pretty interesting.

Categories:  |  | 
Tuesday, April 10, 2007 2:32:23 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Working with Active Directory and .Net#

I have written a few programs in .Net that utilize Active Directory (AD), and what a pain it was.

Here is an article where the author created classes to encapsulate some of the objects in AD, which is pretty similar to what I did.

Keywords: LDAP, AD, Active Directory

Categories:  |  |  | 
Tuesday, April 10, 2007 2:29:54 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

TypeOf VB.NET vs C##

If you are Microsoft, why do you create a function "TypeOf" that has totally differnet applications in VB and C#?

Typeof in C# is like GetType in VB, where VB uses TypeOf to see if 2 types are the same or check for interface implementation.

Kinda dumb.

Categories:  |  |  | 
Friday, April 06, 2007 7:59:58 AM (Central Standard Time, UTC-06:00) #    Comments [3]  | 

 

Microsoft AdCenter#

I came across this offer where you get $50 free (I haven't read the details) for using Microsofts adCenter (just like adwords I guess).

http://www.startadcenter.com/lcoff/

 

Categories:
Sunday, April 01, 2007 2:15:35 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

MailTo Syntax#

Here is a nice document showing the mailto syntax.

Categories:
Friday, March 30, 2007 3:24:34 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Size Of Nearly All Bodies In Our Solar System#

This is really cool.

I did a project just like this in 7th grade, but I only did it for the (then) 9 planets.

solarsystembodies.jpg (1.02 MB)
Categories:  | 
Friday, March 30, 2007 10:34:57 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Remove "Click Here To Enable Instant Search"#

To not get prompted to download the Windows Desktop Search component, do the
following:

   1. On the Tools menu, click Options.
   2. Click Other, and then click Advanced Options.
   3. Under General settings, clear the Show prompts to enable Instant
Search check box.

Categories:  | 
Tuesday, March 27, 2007 2:07:23 PM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

Most Indemnad Skills for 2007#

Web development is number 2 of the most indemand skills for 2007:

http://www.hotgigs.com/pdf/contractworkforce2007_d.pdf?src=cwremailconsultantb

When they break down the web development category, I have extensive experience in almost but 1 of the top 10 sub categories, with my main area of expertise being the top item: ASP.NET development.

Good to know that I made a good decision to not focus on Fortran! :)

Categories:  | 
Friday, March 23, 2007 8:38:35 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ASP.NET RegularExpressionValidator with Phone Extension Numbers#

The built in options for validating an email address didn't include any way to validate phone numbers that include extension numbers.

Here is a regular expression that does this:

((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}( x\d{0,})?

 

Categories:  |  | 
Thursday, March 22, 2007 5:42:21 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Renewing the SSL Certificate on a Network Load Balanced system#

We had a problem last night as we attempted to update our site certificate on our NLB website.

We have 2 machines in the cluster, and after updating the certificate on both of them, the site stopped responding over https.

We spent a LOT of time trying to figure out what was wrong with our new certificate, or the way we had set it up.

In the end, it turned out that that when we updated the certificate, it AUTOMATICALLY removed the NLB IP address from the IPs that are listening for port 443. 

So the result was that each server would respond over SSL on it's own, but when you tried to access the cluster by it's IP address over SSL, there would be no response.

It was really easy to fix, but a real pain to find. 

Categories:  |  | 
Tuesday, March 20, 2007 1:04:17 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

AutoSuggest Lookup Control... getting closer#

I have been waiting to see a nice autolookup control that has more features that the current ASP.NET AJAX control offers. 

This control is pretty close.  I would rather not use the Anthem.net library if possible, but this control looks good.

Categories:  | 
Monday, March 19, 2007 12:20:03 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Upgrading to ASP.NET AJAX, xhtmlConformance, and JavaScript Errors#

I recently migrated one of the web applications I work on frequently to make use of the newly released ASP.NET AJAX toolkit.

In order to make this work, a bunch of changes were needed in the web.config.  So many in fact that I decided to merge my web.config file into theirs, rather than vice versa.

After all was done and working, we started getting a few javascript errors in stuff unrelated to any ajax controls.

After some investigation I relized that the naming convention for controls had changed.

Controls that used to be named ASDF:ZXCV were now named ASDF_ZXCV.

So in some instances we had javascript looking for elements where the element name was hard coded as "ASDF:ZXCV".  Of course the correct way to get the element name is to use the ClientId property of the control, but that was not used 100% of the time on our site. 

The problem is that when I upgraded the application from .Net 1.1 to a .Net 2.0 web application project, the upgrade tool included an item in the web.config file that was intended to ease the transition.

<xhtmlConformance mode="Legacy"/>

In ASP.NET 2.0, by default all rendered content is well formed XHTML.  This was different from ASP.NET 1.1.  By setting the xhtmlConformance mode to Legacy, it would not force the output to be XHTML compliant.

Another effect that this has, is the naming of controls.  When Legacy is turned on, control hierarchies are separated by a colon ":".  In standard mode, they are separated by a dollar sign "$" in the name property, and an underscore "_" in the ID property.

This can be seen if you use reflector on the control class, you can see this:

internal char IdSeparatorFromConfig
{
    get
    {
        if (!this.EnableLegacyRendering)
        {
            return '$';
        }
        return ':';
    }
}

In 99% of the places where we reference asp.net generated code, we relied on the ClientId property, so we had no problems.  But in that 1% of places where we took the shortcut of hard coding in the element, we got JS errors.

 

Categories:  |  | 
Monday, March 19, 2007 9:02:21 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

String-Net Liquid#

Some researchers belive they have found a new type of matter, called String-Net Liquid.

The suggestion is that electrons are not elementary particles, but rather are the end points of strings of other particles, similar to quantium entanglement.

The mesh of strings behaves according to Maxwell's equations, which deal with the propagation of light. 

They think that the vacuum of space might be filled with these strings.

Very interesting.

Categories:
Thursday, March 15, 2007 12:59:57 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Use Google To Find Open Directories#

This is a really neat example of how to use the advanced search abilities of Google to narrow down your search to specific files.

From the article:

The following is a Google search string for searching open web directories containing downloadable Nirvana music files.  Substitute the term Nirvana in the search string for any other band of your liking.  You can always bookmark the search result for future use.

-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wma|mp3) “Nirvana”

With some very slight modifications the same search string can easily be used to search for ebooks in DOC and PDF format:

-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(pdf|doc) “george orwell 1984″

Or perhaps your looking for some specific video file:

-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(mpg|wmv) “towelie”

 

Categories:  | 
Thursday, March 15, 2007 12:47:14 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Access to performance data was denied ...#

I have been getting this error in the event log of one of my clients servers:

Access to performance data was denied to UserName as attempted from C:\WINNT\System32\WinMgmt.exe

I first tried this:

Open the "Computer Management" app
Expand the "Services and Applications" section
Right-click the "WMI Control" entry & select "Properties"
Go to the "Security" tab
Expand the "Root" node and then select the "WMI" node
Click the "Security" button
Add the account & give it access

That didn't work, so I found another suggestion:

1. Run regedt32
2. Select the key SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
3. From the menu select 'Security/Permissions'
4. Add the Internet Guest Account granting only 'read' permission

In case that doesn't work, here are some more articles on the subject

http://support.microsoft.com/kb/226494

http://www.eventid.net/display.asp?eventid=1000&eventno=1700&source=Perflib&phase=1

 

Categories:  |  |  | 
Thursday, March 15, 2007 9:11:33 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Moving changes from one table to another#

You just screwed up the database, and now you need to make some surgical repairs to the database.

Or maybe you have data in development and production tables and you want to move some data changes from one to the other.

Basically the problem is that you have 2 tables with the same schema where 1 column has some different values in one table when compared with the other.

You can't do an update on an inner join statement, but you can create an updatable view containing the fields you need and then run an update statement on it.

A view is updatable if it meets the following conditions:

A view is updatable if:

  • select_statement has no aggregate functions in the select list and does not contain the TOP, GROUP BY, UNION, or DISTINCT clauses. Aggregate functions can be used in a in a subquery in the FROM clause as long as the values returned by the functions are not modified. For more information, see Aggregate Functions.
  • select_statement has no derived columns in the select list. Derived columns are result set columns formed by anything other than a simple column expression, such as using functions or addition or subtraction operators.
  • The FROM clause in the select_statement references at least one table. select_statement must have more than nontabular expressions, which are expressions that are not derived from a table. For example, this view is not updatable:
CREATE VIEW NoTable AS 
 SELECT GETDATE() AS CurrentDate, 
 @@LANGUAGE AS CurrentLanguage, 
 CURRENT_USER AS CurrentUser 

Categories:  | 
Tuesday, March 13, 2007 9:40:02 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Whole Genome Shotgun Sequencing#

This is the paper I wrote for my Bioinformatics course at the University Of Chicago, discussing some of the methods available to sequencing DNA of complex organisms, and how Myers was able to use the whole genome shotgun method to sequence the human genome.

TermPaper.pdf (793.88 KB)

 
Categories:
Thursday, March 08, 2007 8:13:45 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

All content © 2009, Christopher May, Inc
Open Job Positions
On this page
Google Ads
This site
Calendar
<April 2007>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Archives