August 4th, 2010 by Rémy Blättler
You just lost your ASP.NET session object and your app restarted? Check the Event Log for the following message:
A worker process with process id of ’23232′ serving application pool ‘ASP.NET v4.0′ has requested a recycle because the worker process reached its allowed processing time limit.
I’ve already posted the solution for this for IIS6. It’s basically the same for IIS 7.
Go to the Application Pools section of your IIS. Right-click on the right pool and choose Recycling.
Here you can adjust when you want you Application Pool to recycle. No recycling is not really recommended. So either out put in a very high number of requests or you choose fixed time when you assume there are no users on your site.
We decided to just recycle during the night.
What would be nice is to get some kind of notification, so one could save all ASP.NET sessions and then restore them afterwards.
Categories: ASP.NET, IIS, Running a Site, Technology | 1 Comment »
July 30th, 2010 by Rémy Blättler
I was looking for a way to copy only certain file types from one folder to another. Basically a recursive copy with a filter.
There are different solutions, but here I found the best one, that does not need any additional tools.
http://www.vistax64.com/powershell/30490-copy-item-recurse-wildcard.html
Just open the Windows Powershell and type the following command:
copy-item -rec -filter *.resx C:\source_dir C:\target_dir
This will copy all files with the ending .resx from source_dir to target_dir.
Problem solved.
Categories: Powershell, Programming, Technology | No Comments »
May 5th, 2010 by Rémy Blättler
After upgrading my wordpress blog I could not connect my Windows Live Writer anymore. Funny enough it will worked with my other blog (blog.supertext.ch). The only difference that I could find, was that remy.supertext.ch was configured to use iso-8859-1 and blog.supertext.ch used utf-8. But changing that did not actually help. Could be that the issue is some info that is still in the database.
Using the WordPress iPhone App, I got the following error:
NSXMLParserErrorDomain error 73
Does not really help either. But I found some posts, suggesting all kind of things that all didn’t apply or work.
Now, getting a little desperate, I installed Fiddler (which is really an awesome tool) and discovered that if I rerun the rpc call that Windows Live Writer is doing, I get a Content-Length mismatch Error:

Here is the request in raw form, you can try it yourself to see what results you get. Password/Username do not matter for the test, but you have to set the POST and Host value correctly:
POST http://blog.yourhost.ch/xmlrpc.php HTTP/1.1
Accept: */*
Accept-Language: en-US, en, *
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Writer 1.0)
Content-Type: text/xml
Host: blog.yourhost.ch
Content-Length: 491
Connection: Close
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>blogger.getUsersBlogs</methodName>
<params>
<param>
<value>
<string>ffffffabffffff716</string>
</value>
</param>
<param>
<value>
<string>admin</string>
</value>
</param>
<param>
<value>
<string>password</string>
</value>
</param>
</params>
</methodCall>
I don’t really have an idea on how to fix this for real, but what helped is to just add 2 to the length of the response. Edit the class-IXR.php file from the wp-includes directory on line 396. I’m using WordPress Version 2.9.2
function output($xml) {
$xml = '<?xml version="1.0"?>'."\n".$xml;
$length = strlen($xml);
header('Connection: close');
header('Content-Length: '.$length + 2);
//+2 Solves the Live Writer issue
header('Content-Type: text/xml');
header('Date: '.date('r'));
echo $xml;
exit;
}
Just FYI:
I’m using IIS 6.0 on Windows 2003.
Categories: IIS, PHP, Wordpress | 8 Comments »
May 5th, 2010 by Rémy Blättler
Ever got the following error message after installing MySQL on a Windows Server:
ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: YES)
Sounds like this is quite a common problem if you look check in google.
This issue could have several roots:
- The MySQL Service is not running
- Service is not configured to accept network connections
- Wrong password/username
- Firewall setup
- Wrong port (standard is 3306)
The mysql help actually has some good hints for these issues:
http://dev.mysql.com/doc/refman/5.0/en/access-denied.html
(From my own experience, port 3306 actually does not need to be open in order to use the MySql command line tool or the MySQL Workbench.)
My service was running and configured for tcp/ip, the firewall was disabled and the port was correct. So it had to be something with the password.
You can reset the root password like this:
- Stop the MySQL service:
sc stop mysql
- Start MySQL with the –skip-grant-tables option, this disables the password checks. You might wanna start it in a different command prompt window.
mysqld.exe –skip-grant-tables
- Run the following commands:
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(‘your_new_password’) where USER=’root’;mysql> FLUSH PRIVILEGES;
- Stop the Server:
mysqladmin -uroot -pyour_new_password shutdown
- You should be able to login now
mysql -uroot -pyour_new_password
If this does not help, there is a long discussion in the MySQL forum about this issue:
http://forums.mysql.com/read.php?11,34014,34014#msg-34014
Good luck!
Categories: MySQL, Programming | No Comments »
July 29th, 2009 by Rémy Blättler
Ever tried to remove or change something in a C# Enumeration while you iterate over it? Yes, it does not work very well.
But there are ways around it.
foreach (Item item in items.ToArray())
{
if (item.Visible == false)
{
items.Remove(item);
}
}
The simplest way is to use ToArray(). No much coding, no complicated loops, but obviously not very efficient for larger lists.
A few alternatives are presented by Kevin Ransom.
Categories: C#, Programming, Technology | 3 Comments »
July 14th, 2009 by Rémy Blättler
For our Orders, Jobs and Documents pages we switched from using tables to using lists (ul/li) with left floating div’s. This is nice in terms of modern CSS driven HTML and is easier to adopt to the iPhone. But it does bring a few issues with it. For example that the div’s tend to drop below the one on their left if the content is too large and they have no size attribute.
I’ve built a page where I tried out different ways to prevent this with example code.
Float Drop Examples
What we used at Supertext is to have the 2nd column with a fixed position. But this is only possible if you have only 2 columns and if the width of the first column is fixed too.
<div>
<div>Test</div>
<div style="position: absolute; left: 40px;">
<b>Long Text and very long Text. Long Text and very long Text. Long Text and very long Text.</b><br />
</div>
</div>
Let me know if you have a better solution!
Categories: HTML, Technology | No Comments »