Navigation

Search

Categories

On this page

Download WebService Studio 2.0
VS 2008: Windows SDK 6.0 Needed for WCF "Service Configuration Editor" Utility
How Windows Performance Counters of "Average" Types Linked to Their Bases
Where Are the Third-Party ASP.NET Theme/Skin Galleries?
"IO Error" During Vista Disk Backup
Visual Studio 2008: fixing "'alink.dll with IAlink3' could not be found" error
Why iPhone is locked anyway?
iTunes Does NOT Support Syncing iPhone with 64-bit Windows Vista or XP!

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 53
This Year: 20
This Month: 2
This Week: 0
Comments: 8

Sign In
Pick a theme:

 Monday, May 19, 2008
Monday, May 19, 2008 9:32:03 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

WebService Studio 2.0 (a.k.a. Web Service Studio) is a quick & dirty web service client tool that can import your web service's WSDL and allow you to call web service's methods without having to create your own test client.

WebService Studio used to be hosted on Microsoft's GotDotNet web site, but ever since GotDotNet was replaced by Codeplex, Web Service Studio was nowhere to be found. Fortunately, some kind stranger made WSS available for download at his blog: http://mattharrah.com/blog/web-tools/net-web-service-studio-20/.

Update: BTW, if you are planning to use WebService Studio to test WCF web services, you will need to configure your web service to use basicHttpBinding instead of wsHttpBinding.

Comments [0] | | # 
 Thursday, May 15, 2008
Thursday, May 15, 2008 3:53:38 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

After installing Visual Studio 2008 on a new machine and starting playing with a simple Windows Communication Foundation project, I attempted to change service's WCF settings using WCF Service Configuration Editor utility (SvcConfigEditor.exe). However, I got the "Windows SDK is not installed correctly" error. "Internets" were surprisingly mum on the subject, so I had to figure out the solution myself.

To fix the problem, I had to install Windows SDK 6.0 manually. After I did that, the problem went away. Just quit Visual Studio 2008 before installing Windows SDK.

Update: Even after reinstalling Windows SDK, first time right-clicking on the web.config in the Visual Studio '08 Solution Explorer does not bring "Edit WCF Configuration" item to the menu. However, after I did Tools | "WCF Service Configuration Editor", "Edit WCF Configuration" item started showing up upon right-clicking the .config file.

Comments [0] | | # 
 Thursday, March 20, 2008
Thursday, March 20, 2008 5:04:21 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Some time ago I added performance counters to the application I was working on, and for some inexplicable reason all counters of "Average" type, like AverageCount64 or AverageTimer32, didn't work at all, always having 0 value. Then I had no time to find out why it was not working, but today I did. As you may know, "Average" counters are made of two distinct counters: the base counter and the average counter itself. The mystery was that by looking at all the samples returned by Google, it was unclear how the Base and the Average itself are linked together. It looked like you create the Base and the Average, add them to the collection and somehow magically Windows figures they need to be linked together when averages are calculated. After some research it looks like the two are linked by counter name! It appears that base's name should be the name of real counter, plus word " base". For example, when you define your counter category that has average performance counter, you do something like this:

   counters.Add(
new CounterCreationData("whatever", "whatever desc", PerformanceCounterType.AverageCount64));
   counters.Add(new CounterCreationData("whatever base", "whatever base desc", PerformanceCounterType.AverageBase));

To my surprise, changing the "whatever basevalue of the counter name in both CounterCreationData and PerformanceCounter to something like "whatever base1" breaks the perf counter! It looks like there is a naming convention requiring that AverageBase proformance counter has the CounterName property value on both CounterCreationData and PerformanceCounter to be counter name plus " base", but I never saw this mentioned anywhere - neither by MSDN, nor by Codeproject articles. So, since average perf counters always come in pairs, linked by name, these helpers should make creating average perf counters simpler (uinsg C#/.NET):

        private static void AddAverageCounterDefinition(CounterCreationDataCollection counters,

                        string counterName, string counterDescription, PerformanceCounterType averageType)

        {

            counters.Add(new CounterCreationData(counterName, counterDescription, averageType));

            counters.Add(new CounterCreationData(counterName + " base", string.Empty, PerformanceCounterType.AverageBase));

        }

 

        public class AveragePerfCounter

        {

            private PerformanceCounter averageCounter;

            private PerformanceCounter averageCounterBase;

 

            public AveragePerfCounter(string categoryName, string counterName)

            {

                this.averageCounter = new PerformanceCounter(categoryName, counterName, false);

                this.averageCounterBase = new PerformanceCounter(categoryName, counterName + " base", false);

            }

 

            public void IncrementBy(long val)

            {

                this.averageCounter.IncrementBy(val);

                this.averageCounterBase.Increment();

            }

        }

 

After this, when creating performance counter definition, you could use following code instead of the one shown by the very first snippet:
      AddAverageCounterDefinition(counters, "whatever", "whatever desc", PerformanceCounterType.AverageCount64);
It will add " base" to the name of the sidekick automatically.

And to create corresponding performance counter, you now can do this:
      AveragePerfCounter avgCount = new AveragePerfCounter("MyCategory", "whatever");
     
avgCount.IncrementBy(new Random().Next(100));

 

Comments [0] | | # 
 Tuesday, February 26, 2008
Tuesday, February 26, 2008 2:33:32 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

When ASP.NET 2.0 and Visual Studio 2005 came out I hoped that ASP.NET themes will be developed en masse by third parties and sold like those on TemplateMonster.com. Today, tired of ugly GridViews in my apps, I decided to find an ASP.NET theme for at least a GridView, but to my surprise, the only thing I found was this, which is not even a skin. There are millions of sites, books and blogs telling how to make themes in ASP.NET 2.0, but it looks like market for third-party templates has never materialized. Given how fierce the competition in the graphics & UI design world is, I wonder why everyone is missing a chance to take this niche. Microsoft has a few starter themes, but just a few and without live test-drive sites - one has to download and install Visual Studio plug-ins and build the site to see it in action. All this is very strange: it's hard to believe there is no business model in making skinnable themes for ASP.NET applications.

Comments [0] | | # 
 Monday, February 11, 2008
Monday, February 11, 2008 9:47:49 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

Recently I started getting "IO Error" while backing up my computer that runs under Vista. To back up I used Vista's "Backup & Restore Center". Somewhere closer to the end of the back up process it would just throw this IO error seemingly with no good reason. About five last attempts to backup ended with this error. I used to get that error a long time ago, and then the error would occur only sometimes, and on different systems. That time I was able to eventually track the problem to faulty USB cable, but this time was different - error was occurring on just one machine, and once it started happening - it never went away.

I noticed, however, that on the machine where the error was occurring, system drive where Vista and most of everything else is installed, is running out of free space. I got "only" 1.7 GB left. I didn't think that should be a problem, since 1.7 GB is still quite a bit. Nonetheless, I decided to reshuffle partitions to increase the size of my primary partition. Once I've done that, I made one more attempt to backup my machine, and this time it's worked.

The bottom line: be sure that drive you back up (or maybe just your system drive) has enough free space.

I will update this post if the error resurfaces or if I find out that amount of free disk space has nothing to do with the error.

Comments [0] | | # 
 Thursday, November 22, 2007
Thursday, November 22, 2007 3:19:37 PM (Eastern Standard Time, UTC-05:00) (  |  |  )

After downloading and installing just-released Visual Studio 2008 on Vista x64, I got compilation error while trying to build the "Hello, World" application. The error was "fatal error CS0014: Required file 'alink.dll with IAlink3' could not be found."
It seemed to be a fairly common error during the Beta cycle of the Visual Studio 2008, but apparently it was not fixed - at least not for the 64-bit version of Vista. Similar to 32-bit versions, the solution was to install two Windows Update items found on the Visual Studio 2008 DVD in the "<dvddrive>:\WCU\dotNetFramework\dotNetMSP\x64" folder (for 32-bit version look in the "<dvddrive>:\WCU\dotNetFramework\dotNetMSP\x86" folder):
1. NetFX2.0-KB110806-v6000-x64.msu. Run it, wait forever, reboot when it's done.
2. NetFX3.0-KB929300-v6000-x64.msu. Run it, wait forever, reboot when it's done.

After those two updates were installed, the problem went away.

Comments [0] | | # 
 Wednesday, October 03, 2007
Wednesday, October 03, 2007 10:16:45 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

It used to be this way: you commit to a two-year contract with a wireless service and get locked, but deeply discounted or even free phone. With iPhone situation is beyond pale:

  • You get what seems to be a full-price, but locked phone (from $300 to $600 depending on the model and the time you bought it);
  • You get locked into two-year contract;
  • And Apples feels free to brick your iPhone if you have installed 3rd party software or unlocked it.

While all this might be legal, this looks like one big mass-screwing of Apple/AT&T customers. I feel lucky iTunes refused to sync my iPhone with 64 bit Windows and I could return iPhone for the full refund. I was planning on unlocking the phone, but after I learned about modified iPhones turned into "iBricks" after the latest firmware upgrade, iPhone deal looks like one big sucker.

Comments [0] | | # 
 Tuesday, September 25, 2007
Tuesday, September 25, 2007 6:53:18 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Update: This issue may have been fixed as of April 2008: http://support.apple.com/kb/HT1426.

I spent approximately a week researching iPhone and everything related to it. Not a single time did I see anything that would suggest that iPhone does not sync with 64 bit version of Windows - not even on the back of the iPhone box, where system requirements are spelled out. So all the anticipation of playing with iPhone came down crashing when I put it in the cradle and got "Please connect iPhone to a computer running a 32-bit version of Windows XP (SP2) or Windows Vista." message:


This was the first Apple product I ever bought, and what a wonderful F-U I got. Apple is indeed not an engineering company, but a designer shop making cool-looking accessories - a Luis Vuitton of IT. The only thing remaining for Apple is to figure out that technology thing.

Quick Internet search established without a doubt that iPhone won't sync with x64 Windows systems and tech support rep confirmed that there is absolutely nothing they can do other that suggesting to install 32 bit operating system.

Anyway, the iPhone is going back. To be fair, Apple customer support was fast and helpful, and the rep who processed my return request waived restocking fee on the unit (I bought it from Apple online) and they promised to send prepaid FedEx shipping label.

 

Comments [0] | | #