Pausing a process using PsSuspend from Sysinternals

by Rick Glos7. September 2011 18:32

We just received new laptops at work and now we need to migrate our files from one machine to another.  I have a few rather large virtual PC disks that I needed to transfer.  I was using robocopy to transfer the files from one laptop to the other over my home network and noticed some severe latency on my source laptop.  I was trying to do productive work on the source laptop and every mouse click or keystroke seemed to lag one or two seconds making it too painful.

I had already spawned the robocopy process though and it was 20% through moving multiple files and I didn’t want to stop it and restart it.  So, “how do you pause a running process”? A google search landed me on a page that talked about PsSuspend and using it to pause a running process.

I used Process Explorer, another favorite from sysinternals, to identify the process id of the running application to suspend.

9-6-2011 11-05-56 AM

Then using the pssuspend tool I was able to pause the copy so I could work.

9-6-2011 11-24-31 AM

I then later in the day restarted the process.

9-6-2011 12-56-08 PM

You could see in the properties of process in process explorer when the copying started up again that it was copying the file at 2.0 MB per second.

9-6-2011 12-56-23 PM

This could come in handy for all kinds of processes to pause and then restart.

Tags: , ,

How to enable Silverlight debugging in web application if it somehow stops working

by Rick Glos4. October 2010 18:03

I’m posting this because I ran in circles for an hour trying to determine why I suddenly could not debug Silverlight code.

I had set a breakpoint, set the web application as the startup project, and yet it was skipping the breakpoint.

10-4-2010 8-48-30 AM

I tend to lean heavily on source control, and in our case, Team Foundation Server for determining, “what has changed”.  This was working in the past and I didn’t see any files checked out with any changes.

Turns out this setting is kept in your user specific project file.  I don’t remember unchecking this option.

Right click on your Web application project, not the Silverlight project and select Properties.  Then select the Web tab.  On the bottom of that page you’ll see the ‘Debuggers’ checkbox group.  Check Silverlight.

10-4-2010 8-40-26 AM

Apparently this setting is stored in your *.user configuration file for the project.  Here’s what was in the file before.

   1: <SilverlightDebugging>False</SilverlightDebugging>

And now after.  (Note this setting is updated when you close the solution – until then those settings are in memory – helpful to know if you check the box, hit save, and look at the file you will see no change as I did.  VS hasn’t persisted the value yet.)

   1: <SilverlightDebugging>True</SilverlightDebugging>

Now the breakpoint will be hit when we debug.

10-4-2010 8-55-51 AM

My guess is that there was some dialog that popped up and I automatically replied ‘Yes’ which unchecked it for me.  Doing me a favor yes?  Anyway, hope this helps.

Tags: , ,

Show output window during build in Visual Studio 2010

by Rick Glos23. August 2010 17:07

I was complaining to my co-worker the other day that my output window in Visual Studio 2010 was not showing during a build.  I usually hit Ctrl+Shift+B, and while I appreciate the minimalist UI, I like to see what it’s doing.  All I would see was the status bar text saying, “build started…” followed by, “build succeeded”, or in same cases, “build failed”.

image

When I was watching my co-worker, the output window popped up showing a log of the progress.  I think this is the default but I don’t recall changing my configuration.  I do normally take the output window and unpin it so it stays out of the way and off my screen while I’m coding.  Perhaps the act of doing this flips the option.  I don’t know.  What I’m after is when compiling, slide the window up from the bottom and show a log of what is compiling.

image

I poked around and found the option to turn this on or off and here it is for future reference.

Tools –> Options –> Projects and Solutions –> General –> Show Output window when build starts

image

Tags: ,

How to run windows batch files from Visual Studio 2010 Solution Explorer

by Rick Glos11. August 2010 20:37

This is an update to running cmd files from Visual Studio 2005 and Visual Studio 2008 post I did a couple year ago.  You can use this technique to run windows command files with the .bat and .cmd extensions.

Just as previously, we need to create at least one, and optionally two, external tools.

One that terminates the window after executing.

Here’s the values for you to copy+paste and screenshot.

Field Value
Title Run With Cmd
Command %ComSpec%
Arguments /C $(ItemPath)
Initial Directory $(ItemDir)

screenshot

One that leaves the command window open after executing.  Useful if you didn’t put a ‘pause’ in your command file or if you want to leave the cmd window open for additional commands.

Field Value
Title Run With Cmd and Remain
Command %ComSpec%
Arguments /K $(ItemPath)
Initial Directory $(ItemDir)

screenshot

Now we should see our new external tools available on the Tools menu.

image

However, we’d like to right-click on the file and run the cmd file via Solution Explorer like so:

image

Customizing this context menu in Visual Studio 2010 is abit different from context menu customization in VS2005/2008.

Click Tools –> Customize… to launch the Customize Dialog.

From that dialog we want to select the ‘Context menu’ radio option and the ‘Project and Solution Context Menus | Item’ from the drop down.  I’m going to put the two commands right under ‘Open With…’.  You can certainly do whatever you wish.  Start this process by clicking ‘Add Command’ button on the same dialog.

So here’s a screenshot with that above paragraph in a picture instead of words:

image

When we click ‘Add Command’, the Add Command Dialog will open.  Select ‘Tools’ from the Catgories list box on the left and find your external command from the command list box on the right.  Your command will be named something like ‘External Command {Number}’ where {Number} is the number in your list from your External Tools dialog.

image

Clear as mud?  I’m going to use this to make sure I add External Command 3 and External Command 4 to the context menu.

image

Now the ‘Project and Solution Context Menus | Item’ context menu should look like this in the Customize Dialog.

image 

Close that dialog and check out your new menu items by right clicking on a file in Solution explorer.  You should see your new external commands.

image

For extra credit, you can go back into the Cusomize dialog and move your commands around into spot your like and alos create a Group around them.

image

The finished product looks like this.

image

Tags: ,

Configuring Windows Server 2003 with ASP.NET 4.0 while supporting ASP.NET 2.0

by Rick Glos11. August 2010 01:29

Went through some interesting configurations today and wanted to document it.

Our client has a server, Windows Server 2003 SP2, in which we already have many ASP.NET 2.0 applications running, including some serving up Silverlight 3.0.  We needed to migrate one of our applications to ASP.NET 4.0 and Silverlight 4.  It was a little more involved than I would’ve thought.

Here’s the steps:

Install the .NET 4.0 Framework on the server.

This did not require a server reboot.  I have yet to have a reboot required when installing a .NET Framework version.  Perhaps I’ve been lucky so far.  This is important because you don’t want to disrupt folks using the resources on the box.

Create a separate App Pool for the web applications that are going to run under .NET 4.0.

From what I understand, you can’t have different web applications running under the same application pool.  Since this box has production and beta applications on it already, we need to create an app pool.  Nothing fancy.

Create the new virtual directory for the new application and assign it your new app pool

Nothing fancy here.  Use the properties dialog to create the application and assign the app pool.

image

Install the scriptmaps for ASP.NET 4.0 to the new web application.

If you don’t do this step and you try to run the application under 2.0 you will get error:

Unrecognized attribute 'targetFramework'

This is because the web.config is different now and contains a new attribute on the compilation element.

 image

If you try and set the ASP.NET version using the properties panel, you will get a warning that you are going to cause a restart of the entire W3SVC service therebye killing all the work anyone may be in the middle of using existing applications.

 image

Since we don’t want to disrupt currently running applications, we need to do this through the command line.

Open a cmd prompt and navigate to the v4 Framework directory: %WINDIR%\Microsoft.NET\Framework\v4.0.30319.  Once there, we can use the administration utility to change the application.

   1: aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1

Here’s an example of the output when doing this against a test application.

image

Enable ASP.NET v4.0.30319 web service extension

If you try to hit the web application prior to this step you will receive ‘The page cannot be found’.

image

Enable the new version ASP.NET by using the Web Service Extensions node in IIS 6 and switching ASP.NET v4.0.30319 from Prohibited to Allowed.

image

Finished

From here you should be done and can now use your application right alongside older ones on the same web server.

Tags: ,

Fix vertical scrollbar in IE8 for Silverlight 3

by Rick Glos12. February 2010 19:38

I’m posting this in case someone else comes across this strange bug.

I recently had a Silverlight project start displaying a vertical scrollbar in the window in IE8.

image

It turns out I had ‘formatted’ the page that hosts the Silverlight object control and that since the div element was on a separate line from the iframe element, it was causing the scrollbar to appear.

image 

image

I tried playing around with the CSS since I don’t think it should matter how I have the angle brackets in the page but I finally gave up and just put it back the way it was.  This still feels dirty to me.

image

So if you are having similar issues.  Here’s at least one solution.

Tags:

PDC 2009 Recap

by Rick Glos7. December 2009 20:10

We do quite abit of .NET Development here at Perkins Consulting and like to stay on top of current technology, software architecture, and new technology.  I was lucky enough to be able to attend the Microsoft PDC 2009 Conference in Los Angeles, CA.  Below are some notes and details.

Recap

These are notes condensed from 4 days of note taking in OneNote.

Stuff that got announced

Main Theme

3 screens and a cloud  (next 'wave' is Cloud computing [Mainframe (1970's) --> client-server (1980's) --> web (1990's) --> soa (2000's) --> cloud (2010's)]

  • Phone, TV, PC
  • Silverlight being the client mechanism (they are really pushing this to be the main UI mechanism)

Data playing increasingly larger role - Vivek Kundra - Chief Information Officer for the USA live via video feed

  • make information public - for public consumption and transparency of data
  • data.gov - searchable data catalogs

Conference Sessions Attended (11) + 1 pre-conference workshop

Workshop

  1. Developing Microsoft BI Applications - The How and the Why
    1. Note that I struggled with this decision.  I signed up for Getting the Most out of Microsoft Silverlight 3 but having spent the last 9 months on a Silverlight project for one of our clients, I did not think it was going to be that beneficial.  There’s a ton of info on the web for Silverlight.  However, there’s not much for BI.  The Silverlight application I worked on sits on top of a Analysis Services Cube – the API is completely different than just throwing down a Entity Framework model on top of a relational database (which I did as well for some parts of it).  This app has an AdoMdDataReader, CellSet and MDX statements.  I was curious how others approached this area.

Sessions

  1. Data Programming and Modeling for the .NET Developer - SQL Server Modeling Services
  2. Overview of SharePoint 2010 Programmability
  3. Evolving ADO.NET Entity Framework in Microsoft.NET Framework 4 and Beyond
  4. SketchFlow: Prototyping to the Rescue
  5. Microsoft Perspectives on the Future of Programming
  6. Should I Use Silverlight, MVC, or Web Forms for Web User Interface Development?
  7. Networking and Web Services in Silverlight
  8. Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight
  9. Automating the App Lifecycle with Windows Azure
  10. SQL Server Modeling Services: Using Metadata to Drive Application Design, Development and Management
  11. Mastering Microsoft WCF RIA Services

Conference Sessions I wanted to attend, 44.

There was alot of concurrent session angst for me.  At any given time slot, there were 11 sessions and many of those I wanted to attend more than one in that time slot.  Luckily it was all being recorded and available at PDC, http://microsoftpdc.com/.  It will be interesting to see how making this all available online affects conference attendance in the future.

I might add that one of my favorite sessions, ‘Should I Use Silverlight, MVC, or Web Forms for Web User Interface Development?’, was an audience participation session where I got to talk quite alot because out of the mass of people in the session, I was one of the few using Silverlight in a LOB application for one of our clients.  However since it was audience participation, there is no video or audio available – an experience you can only get by being there.

Conclusion

Overall I thought this conference extremely worthwhile.  To be able to see the direction of the software industry and to see how much data is going to play a part in the future.  I think Perkins, having years of experience with Data Warehouse projects, is sitting in a perfect position to take advantage.

Tags: