学习新的微软 .net 技术

9
在过去的八个月左右,我一直因为无法让Windows身份验证基础架构(WIF)做我想要的事情而感到沮丧,甚至更令人沮丧的是,WIF似乎没有像其他许多MS .net技术那样被广泛采用,当我进行谷歌搜索时,经常找不到我要找的东西。
我阅读了MS“开发人员白皮书”概述,它只提供了关于技术如何工作的一般性概念,没有太多具体信息。我查看了MS身份培训套件;该安装程序已损坏。我只能根据我在MS论坛上找到的说明手动编辑安装文件才能使其正常工作。当它最终工作时,我还在摸索中。我看到了一些具体的例子是如何工作的;让我自己去弄清楚框架中超过一半的功能和类如何使用。
我相信我可以诚实地说,在我花费时间 tinkering with WIF 的时间里,我本可以参加并通过由有 kompetent teacher 教授的 WIF 编程主题的大学课程,并比现在更好地理解它。
上周,我的老板要求我编写我们的WIF enabled ASP.net web项目,在用户会话过期前几分钟使用户登录过期。你猜怎么着?在花费无数小时试图弄清楚WIF的工作原理后,我不知道如何完成这样一个简单的任务。 WIF 中仍然有一些类我不知道它们是做什么的。我不知道何时会触发某些我想要控制的事件或如何处理它们。为了学习这项新技术而付出的所有努力,有时让我感到自己无能为力。顺便说一下,我的关于登录过期问题的SO帖子在这里: How can I make a security token automatically expire in a passive STS setup?
当我开始编程时,我被告知需要学习实施MS WCF。我找了一本好书来了解WCF,它向我展示了驱动我们WCF应用程序所需的一切。我可以轻松地看到自己面临着与WIF相同的情况,如果没有一个好的参考。
我不知道有哪些关于WIF的好书。
但WIF只是我需要熟悉的MS技术之一。
这种情况更加令人沮丧,因为我在学校里总是擅长学习和研究。
无论如何,我在StackOverflow上的问题是:学习使用新的MS .net技术有什么好方法?哪些是最好的参考资料?是否有显示不同类、方法和事件之间关系的图表参考资料可供查询?开发人员如何最好地利用MSDN文档?我认为我会从这些东西的视觉参考中获益匪浅。开发人员如何有效地利用时间来学习新的MS框架? 澄清: 尽管我以WIF作为我想要成为专家的新技术的例子,但它只是一个例子。我对学习关于一般的MS .net技术的最佳工具和参考资料感兴趣。 更新: 那么网络上的资源呢?当然有StackOverflow,还有social.msdn.microsoft.com。除此之外,还有哪些资源适合学习新的MS技术?

5
不要成为第一批采用者。最前沿的技术可能会有利也可能会有弊。祝好运。 - Byron Whitlock
@Byron,WIF 技术是我已经研究了8个月的技术,它处于技术前沿吗? - Vivian River
1
@Rising Star:没有人实现它,因为这只是微软发布的一系列身份验证API中的又一个。如果它已经发布了8个月以上,但现在几乎没有被采用,那么可以肯定的是它不会再得到太多支持。我赞同Byron的看法。转向其他东西吧。 - NotMe
只是提供一些更多的信息,微软在身份验证方面并没有太大的优势。身份管理并不会销售服务器或客户端访问许可证。此外,他们已经拥有了一个非常好的框架,即Active Directory,用于企业网络;我无法想象他们会试图用新毕业生的半心半意的尝试来取代它,这些新毕业生可能甚至不理解为什么它如此重要。 - NotMe
@Chris,使用Active Directory进行ASP.net编程就像用锤子拧螺丝一样笨拙;不是一个好的工具。WIF确实更加顺畅;只是我不知道如何让它做我想要的事情。顺便说一下,我正在我的第一份编程工作中;(虽然我已经毕业一段时间了)而我正在组合的东西绝不是半心半意的尝试。 - Vivian River
会员提供程序负责几乎所有需要与AD、AzMan甚至SQL提供程序进行接口的事情。网上也有很多例子。我的观点是,既没有需要WIF,也没有业务案例让微软投入真正的资源。顺便说一下,你可能应该阅读这篇文章:http://stackoverflow.com/questions/237241/what-coding-mistakes-are-a-telltale-giveaway-of-an-inexperienced-programmer/237564#237564 - NotMe
4个回答

4
我了解你的痛苦。令人惊讶的是,微软有一些前沿技术,但由于缺乏足够的采用,因此很难找到所需的资源。
我发现联系微软销售代表或地区办事处是一个重要的步骤,特别适合像你和我这样的人。他们可以为您指定该主题的MVP。为您的公司租用MVP几天绝对是值得的,当您从MVP那里获得大量信息时。费用可能看起来很高,但如果MVP可以在几天内帮您解决问题并节省数月时间,这是一个非常好的投资。
资源丰富是成功的关键,但对于不同的技术,它意味着不同的事情。即使找到一个人与之协作也会产生巨大的差异。

这可能是一件好事。然而,引进一些MVP可能是一件昂贵的事情,在我看来,大多数公司的决策者甚至不会考虑这个。如果你的老板同意这个想法,那太好了! - S P
那么,最好的资源是什么? - Vivian River

2

我认为你所描述的问题很可能发生在尖端技术或仅有少量使用的技术上;否则,将会有文档可供参考。

我的建议是联系微软产品/技术团队或当地的微软Dev Evangelist。根据我的经验,他们通常正在寻求反馈,并非常乐意从使用该技术的人那里获取输入并帮助人们使用技术。这对于最近的技术尤其如此。


你会建议通过什么方式与微软团队联系呢?直接发送邮件到他们的公共邮箱是否可行? - Vivian River
是的,我会发送私信。查看微软大型会议(PDC、TechEd...),寻找与您主题相关的演讲者视频,他们通常会公布自己的电子邮件地址并鼓励人们联系他们。 - Mathias

1

在我的看法中,这应该是一个不错的跟随路径:

1) 选择一种你真正想学习的.NET语言;C# 将是一个不错的选择。

2) 你的第一个成就将是从内而外掌握该语言。试着熟悉基础知识,但也要了解更高级的主题,如泛型、Lambda表达式、值/引用类型、协变等。我非常推荐Jon Skeet的书《深入理解C#》或Jeffrey Richter编写的C#书籍。

3) 将其付诸实践,并与ASP.NET或WCF等结合使用;现在你已经掌握了基础知识,理解WCF对你来说并不是什么大问题。

当我开始我的编程生涯时,我从“21天学会Java”开始: )。我真正专注于深入理解语言及其概念。然后我开始在大学里做一些项目,用它做一些事情,其他东西自然而然地出现;在我有了严肃的实践经验之后,学习编程Servlets、J2EE、Faces等就像吃蛋糕一样简单。

关于您对WIF的挫败感;这基本上与学习语言基础相同。WIF是Windows Communication Foundation(WCF)中引入的新授权模型。为了真正理解,首先要专注于WCF,并非常了解其功能。Juval Lowy写了非常好的关于此的书籍。如果您有.NET XML服务或COM方面的经验,那么您一定会喜欢WCF的。 您应该高兴您的老板给了您机会使用WIF/WCF而不是老派的东西。

学习 .net 语言的语法和语义本身对我来说不是问题。我最初是在一门计算机科学课程中学习编程的,那时候讲师使用 C++ 作为教学语言。自然而然地,我转向了 C#,但我的公司推荐我使用 VB.net。现在我已经熟悉了这两种语言,它们对我来说几乎就像是同一种语言。.net 代码本身并不是问题;学习如何实现新的框架技术,比如 WIF,才是让我感到沮丧的原因。 - Vivian River

0

你在当前的项目中使用WIF吗? - 6opuc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接