Dear StackOverflow, :-)
For the past eight months or so, I have been banging my head on my keyboard out of frustration because I can't make Windows Identity Foundation do the things that I want it to do.
Even more frustratingly, WIF doesn't seem to enjoy the widespread adoption of many other MS .net technologies. I often cannot find what I'm looking for when I do a Google search.
I read over the MS "Whitepaper for Developers" overview and it gives only a general idea of how the technology general works with not a lot of specifics. I looked over the MS Identity Training Kit; the **ing installer was broken. I could only get it to work at all by hand-editing the install file based on instructions that I found on an MS forum. When it finally worked, I was left scratching my head. I saw how some specific examples worked; it was left up to me to figure out how to use more than half the functions and classes in the framework.
I believe that I can honestly say that in the time I've spent tinkering with WIF, I could have taken and passed a university course on the subject of WIF programming taught by a competent teacher and understand it better than I do now.
Last week, I was asked by my boss to code our WIF enabled ASP.net web project to expire user logins a few minutes before the user session expires. Guess what? I had no idea how to do such a simple task after spending countless hours trying to figure out how WIF works. There are still classes in WIF that I have no idea what they do. There are events for things that I want to control that I have no idea when they are fired or how to handle them. For all my effort to learn this new technology, I sometimes feel incompetent grappling with this technology. BTW, my SO post about the logon expiration issue is here: http://stackoverflow.com/questions/2967253/how-can-i-make-a-security-token-automatically-expire-in-a-passive-sts-setup.
When I first started programming, I was told I needed to learn to implement MS WCF. I picked up a good book about WCF that showed me everything I needed to do to drive our WCF applications. I can easily see myself facing the same situation I face with WIF with WCF without a good reference.
I know of no good book about WIF.
But WIF is just one MS technology that I need to be familiar with.
This situation is all the more frustrating because I have always excelled at studying and research in school.
Anyhow, my question for StackOverflow is this: What are good ways to learn to use new MS .net technologies? What are the best references to consult? Are there references with diagrams showing how the different classes, methods, and events relate to one another I can consult? How can a developer best make use of the MSDN documentation? I think that I would greatly benefit from a visual reference to these things. How can I effectively use my time to learn new MS frameworks?
Clarification: Although I give WIF as an example of a new technology I want to become an expert with, it is only an example. I'm interested in learning about the best tools and references to master a new MS .net technology in general.
Update What about resources on the web. There is StackOverflow of course, and also social.msdn.microsoft.com. What other resources are good for learning a new MS technology?