Comments
15 comments
-
Just curious, how many assemblies are in your assembly browser tree when you launch Refelctor? and how large are those assemblies? Not sure if this is your problem, but Reflector loads all of these at load time and parses them all before you can do anything, so the more you have already loaded the slower start time.
If you find yourself needing a lot of assemblies, try using the list functionality on the File menu to group your assemblies and load them only when you need them. -
Only the basic assemblies from .NET 2.0. I even deleted the config file.
-
What is your environment like - what OS, .Net Framework versions? Did Reflector use to load faster and now it doesn't? Was it the latest upgrade that slowed it down?
-
Hi,
it's an Win XP SP2 with Frameworks from 1.0 to 3.5. The last version I had was from Lutz's site and it was definitively faster.
Then it wanted me to upgrade and the automated process didn't work. So I came to redgate and downloaded it anew. And now I'm stuck. -
This is odd. There was no change to the startup code made between 5.1.2.0 (the last version released by Lutz) and 5.1.3/4.0.
Could you have a look at CPU usage and memory usage during startup and let us know what it does?
Thanks,
James -
I've recorded a "startup video" with UVScreenCamera. It shows the task manager with cpu & memory usage, handles, threads until the Reflector opens.
It's an exe that contains the video: http://home.arcor.de/yajirobi/upload/ReflectorVideo.zip (230kb) -
Hi,
I just had a similar problem with another Assembly in a .NET project and now find the same with Reflector.
The EXE is signed with a certificate which tries to validate itself via the Internet. In case of Reflector it lasts around 90 seconds and tries to contact crl.thawte.com, which is probably in most cases not possible due to closed net or FireWalls (use WireShark for proof, here it is an amount of 30 DNS requests with 7 failure responses from our server, more or less). If an application has multiple assemblies (or DLLs) which are code signed as well, the DNS timeout is probably used for every file... This is an OS automated process to check the validity of the certificate!
Just try to display the details of the code signature by opening the EXEs settings dialog and go to the digital signatures tab. Here select the signature and show the details. It lasts a while and displays them. Here you can see in the certificate details, that there is an URL of crl.thawte.com.
If the DNS request is not declined (just ignored), it takes normally a 10 to 15 seconds (!) timeout. To prevent this validation, you can remove the tick at the 'Check for publisher's certificate revocation' in the extended Internet configuration (system control), but be aware that this is a global setting :!: :x.
See also here:
http://www.tech-archive.net/Archive/Office/microsoft.public.office.developer.com.add_ins/2007-08/msg00057.html
IMHO I find this technique 'questionable' at best. Luckily the creator of the other component (for charting) agreed to present both a signed and an unsigned version. -
Yes, my reflector.exe has that certificate, too. And when I want to view it, it takes forever to open the details dialog.
http://img26.imageshack.us/img26/3716/reflectorqk1.png -
DJ,
have you tried the system control "Internet options" (or however it is called in a non German OS, these are the settings of Windows resp. IE) as stated before?
I know, that this may present a possible security leak, but for the sake of a try... -
My computer is running in a Windows domain with a tight group policy management, I can't even change my "home page" in IE.
-
Ouch
What about an entry in your HOSTS file like '127.0.0.1 crl.thawte.com'? Just for a "lame" workaround. Or is this not in your hands either? -
dany wrote:Ouch
What about an entry in your HOSTS file like '127.0.0.1 crl.thawte.com'? Just for a "lame" workaround. Or is this not in your hands either?
:shock:
Works like a charm! -
You're welcome 8)
-
Hi James,James Moore wrote:This is odd. There was no change to the startup code made between 5.1.2.0 (the last version released by Lutz) and 5.1.3/4.0.
-
None of these suggestions work. Does someone have the link to the original .Net reflector? It did not do this until Red Gate purchased it and I mistakingly clicked yes for the update yesterday. Clearly the code has changed... Reflector never loads on my system now. All I see now is a pop-up to update it again. Doesn't matter if I say yes or no, it never loads!!!!!
Add comment
Please sign in to leave a comment.
we're sitting behind a company firewall and proxy and the time between executing the exe and seeing the Reflector form is more than one minute - on every startup.
It doesn't help to switch the proxy settings from "IE" to "manual".
I even tried to precompile it with ngen
Is there a way to bring down the startup time to an acceptable amount - let's say ten seconds or less?
This startup time can be observed on several computers.