In a previous blog I discussed how to localize a WPF application. In that example we bound the localized resources in the XAML code. However, recently I needed to set the title of a MessageBox and I needed it to be localized. I added the below to my resource files. The name is the same […]
Read More →Archive for December, 2011
Setting the scrollbar for a treeview in WPF
I wanted a treeviews max height to be about 15% smaller than the window hosting it. This was because I wasn’t able to get (could not get) the vertical scrollbar for the treeview to show up without setting the MaxHeight property. Statically setting the MaxHeight property did make the vertical scrollbar show up, however when […]
Read More →Modifying IIS 6 log data in Windows 2003
All IIS logging properties are not selected by default. Some of them, which are not selected by default can add some valuable information when troubleshooting performance or availability issues. To modify the properties which IIS 6 logs, first select the web site which you want to log and select properties as show in Figure 1. […]
Read More →NHibernate connection driver must be specified in the configuration section
I was in the process of pointing my NHibernate to an Oracle 10g instance using ODP.Net and I received the below error message: The connection.driver_class must be specified in the NHibernate configuration section. I had been using a locally installed Microsoft SQL Server database up to that point. It turns out that I needed to […]
Read More →Finding the W3WP worker process PID and associated ID
When you have multiple websites running under different application pools on the same server, you may need to trouble shoot a specific worker process. On Windows 2003 and Internet Information Services 6 (IIS6), I use the iisapp.vbs script as shown in following command, as shown in Figure 1: Figure 1, Find AppPoolId using IIS 6 […]
Read More →Setting up performance counters for ASP.NET
Troubleshooting a performance problem can be very complicated. Unfortunately, in many cases you prepare and begin learning about how to fix a performance problem when it is happening or just after a performance problem. The fact is, you need to monitor your system and gather statistics on what is considered “standard operating performance” before a […]
Read More →Modify the Request Queue Limit, requestQueueLimit or Queue Length in IIS
When optimizing and tuning an ASP.NET application you may want to increase the value of the requestQueueLimit. The requestQueueLimit is the maximum number of requests that can be queued by an ASP.NET process before errors get returned to the client. Modify Request Queue Limit within the Aspnet.config Below, the requestQueueLimit is configured in the Aspnet.config […]
Read More →Secure channel compatibility support with SSL and TLS
I wrote 2 previous blogs about NTLM and Negotiate/Kerberos which discussed briefly about how those authentication packages work within the context of Integrated Windows Authentication. Another authentication package supported in Windows is called Secure Channel, also known as Schannel. This blog will not discuss the details of Schannel because the detail can be found here. […]
Read More →NHibernate and Entity Framework essentials using a Model First approach
Object Relational Mapping technologies have been around for many years. Hibernate was one of the first, if not the first, ORM library which targeted the Java platform. Today, there are also NHibernate, which is a port of Hibernate to C# and the ADO.NET Entity Framework. Being a huge fan of the concept I am passionate […]
Read More →Kerberos authPersistNonNTLM authentication, request based vs. session based authentication
Kerberos is a request based authentication protocol. That means with each request, there is a resulting authentication step. See the following figure 1 where you notice a Ticket request for each GET Http Command. Figure 1, Network Monitor log for request based authentication This article covers the implementation of the authPersistNonNTLM attribute, that when set […]
Read More →