26 Mayıs 2010

Blog Post: Windows Azure入门教学系列 (一): 创建第一个WebRole程序

Filed under: Genel — admin @ 15:20

从今天开始我们会推出一系列Windows Azure入门教学文章. 在第一篇教学中,我们将学习如何在Visual Studio 2008 SP1中创建一个WebRole程序(C#语言)

在开始学习之前,请确保你的机器上已经安装了:

Windows Azure Tools for Microsoft Visual Studio (November 2009)

http://www.microsoft.com/downloads/details.aspx?FamilyID=6967ff37-813e-47c7-b987-889124b43abd&displaylang=en

Windows Azure Software Development Kit (November 2009)

http://www.microsoft.com/downloads/details.aspx?familyid=772990DA-8926-4DB0-958F-95C1DA572C84&displaylang=en

步骤一:创建解决方案和项目

以管理员权限打开Visual Studio 2008 SP1,点击File,选择New,点击Project按钮:

在弹出窗口中按照下图所示,选择Windows Azure Cloud Service模板,命名项目为FirstWebRole,点击OK按钮创建项目:

在弹出窗口出现后,按照下图所示,分别点击ASP.NET Web Role, “>”按钮。该步骤会在右边窗口中生成一个新的WebRole项。点击OK

步骤二:观察生成的项目

项目结构如下图所示:

编辑Default.aspx页面,添加一些测试信息,如:

<%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”Default.aspx.cs” Inherits=”WebRole1._Default” %>

 

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

 

<html xmlns=”http://www.w3.org/1999/xhtml” >

<head runat=”server”>

    <title></title>

</head>

<body>

    <form id=”form1″ runat=”server”>

    <div>

    Hello World!

    </div>

    </form>

</body>

</html>

 

步骤三:运行程序

F5键开始调试程序。将会见到下面的页面:

至此我们已经创建了第一个WebRole程序。如果你留心的话,会发现任务栏里多了一个程序的图标,见下图:

这个就是dev Fabricdev Storage的管理器。简单地来说,他是一云端的模拟器,让我们在本地测试自己的程序是否能够在Windows Azure Platform上运行。通常情况下如果在本地测试通过的话便能够在Windows Azure Platform上正常运行,但是也有一些例外情况。对于这些问题,我们会在以后的文章中详细介绍。

在这一教学系列的第二篇文章中,我们将会把这一程序发布到Windows Azure Platform上,这样这个页面就能被互联网上任意用户访问了。

Blog Post: TechEd Europe 2010 in Berlin: Jetzt buchen und 500,- Euro sparen

Filed under: Genel — admin @ 15:20

Bereits seit 17 Jahren findet inzwischen die Tech∙Ed Europe, die größte europäische Konferenz von Microsoft für IT-Pros und Entwickler, statt.

Wir freuen uns, dass wir auch in diesem Jahr Gastgeberland sind und erneut Tausende von IT Begeisterten in Berlin begrüßen dürfen.

Vom 8. bis 12. November  2010 stellt Microsoft im Convention Center der Messe Berlin technische Neuerungen im Detail vor und gibt einen Ausblick auf zukünftige Technologien. 

Die Tech•Ed Europe war 2009 mit mehr als 7.000 Teilnehmern einmal mehr ein großer Erfolg. Im vergangenen Jahr wurden Entwicklern und IT-Professionals mehr als 300 Break-Out-Sessions sowie über 300 Partner-Sessions und Networking-Möglichkeiten geboten.

Die Anmeldung ist seit 19.05.2010  auf der offiziellen Homepage möglich. Frühbucher sparen 500,-€ und zahlen bis zum 5. Juli 1.395,-€ anstatt 1.895,-€

Erste Details zum Programm für dieses Jahr werden in den kommenden Wochen veröffentlicht.

Zur Anmeldung: http://www.microsoft.com/europe/TechEd

Blog Post: When an expense line is rejected the remaining lines cannot be approved

Filed under: Genel — admin @ 15:20

In AX2009, we have workflow approvals for expenses. When using the line item type approval with expenses you may notice that when one line in an expense report is rejected the remaining lines no longer appear for approval until the whole expense report is re-submitted.

Now this behavior may not be to everyone’s liking – I have come across customers which would prefer that when an expense line is rejected the remaining lines should carry on being approved regardless. It is actually quite simple to achieve this with a small X++ change. But first we should understand what is actually happening here: basically when an expense line is rejected we also set the expense header to rejected, and the header status is what prevents the remaining lines from being processed. So if we prevent the header being set to rejected when a single line is rejected then we can achieve the desired behavior.

So to make the change:
In the workflow expenses event handler class, Classes\TrvWorkflowElemEventHandler.returned(), remove the following lines…

   if(TrvParameters::find().ApprovalLevel == TrvApprovalLevel::LineItem)
   {
      select firstonly ExpNumber from trvExpTrans where trvExpTrans.RecId == workflowContext.parmRecId();
      TrvStateChangeManager::setDocumentStatus(trvExpTrans.ExpNumber, TrvAppStatus::Returned);
   }

 

If you decide to use this, please make sure that you test it before use in any live environment, this code is given as an example only.

Blog Post: Public comments period open for IHE IT Infrastructure (ITI) new supplements

Filed under: Genel — admin @ 15:20

The IHE IT Infrastructure (ITI) Technical Committee has published the following supplements to the ITI Technical Framework for Public Comment.  If you are involved with health data and information services projects, I encourage you to review these documents and post your comments before June 24.

  • Cross-Enterprise User Assertion – Attribute Extension (XUA++)
  • Deferred Document and Dynamically Created Content (D3S)
  • Healthcare Provider Directory (HPD)
  • Query Enhancements to Sharing Value Sets

The documents are available for download at http://www.ihe.net/Technical_Framework/public_comment.cfm. Comments should be submitted by June 24 to the online forums at http://forums.rsna.org/forumdisplay.php?f=198.

 

teddy bachour

senior industry technology strategist, ww health

http://www.microsoft.com/healthict

Blog Post: New look but don’t give me credit

Filed under: Genel — admin @ 15:20

See Sean Jenkin’s blog for the who, when, why, how, …

For sure they did a great job: just think the amount of work they have done. Thousand of geeky blogs to migrate, each with its own tweaks and customizations (aren’t they geek?). Once I helped migrate a customer’s SharePoint intranet, so I can understand the stress.

Blog Post: En savoir un peu plus sur SCCM v-next

Filed under: Genel — admin @ 15:20

A lire pour tout savoir sur la prochaine version de SCCM : http://blogs.technet.com/b/systemcenter/archive/2010/05/24/the-next-generation-of-client-management.aspx

Blog Post: Learn The Why, Not Just The How

Filed under: Genel — admin @ 15:20

In another conversation on an internal email thread, someone asked some newbie questions about Scrum daily standup meetings, like do they have to be every day or could they be done every three days or so?  There were some good replies that encouraged the standard practice of daily meetings, then someone else mentioned that since his team sits together in one common team room, they communicate all day long and they’ve found the daily standup meeting to be not really necessary at all.

I thought that was a interesting point and replied:

That’s a good example of why it’s important to understand the goals that any given methodology is trying to achieve, not just the ceremonies that it uses to achieve them.  The goal in this case is a short feedback cycle, shared understanding of what all team members are doing, and identification of the most important things to be working on right at this moment.  The mechanism you use to achieve that is really beside the point if you’re able to effectively drive the goal.  Scrum’s mechanism of the daily standup meeting is very effective for the vast majority of Microsoft teams who have individual offices.  If you’re fortunately enough to have extremely high communication going on all day long, then sure, I can see how a daily standup would not be as important.

Anyone who tries to implement Scrum (or any other new methodology) without understanding the end goals and how the individual practices are intended to express those goals is pretty much doomed to failure.  I suppose you can start out that way (I guess I did, come to think of it) but you can’t continue for very long that way.  You have to understand the “why”, not just the “how”.

Time and time again when I see a person or a team who is fumbling along with agile practices (whether that’s Scrum, XP, TDD, design patterns, or anything else) and it’s not really working for them, it’s usually because people are just going through the motions they’ve read about without any real understanding of the principles, the philosophy, and the goals involved.  There’s usually some cargo cult engineering going on.  This causes at least two types of serious problems:

  1. Either they slavishly follow every detail of the methodology without considering the unique circumstances of their project and adapting certain aspects of the process to best fit what they need,
  2. Or they start slicing and dicing the methodology, throwing out whatever they don’t immediately like or whatever seems difficult to implement without having any sort of plan to accomplish the same goals by other means.

The Agile Manifesto calls for favoring individuals and interactions over processes and tools.  No methodology should be followed to the letter without thought, but most methodologies have important, specific reasons for every practice they prescribe.  The only way we can favor people over processes and still deliver working software is if we understand the “why” of our processes so we can intelligently mold them to fit our people.

25 Mayıs 2010

Blog Post: Jon Skeet Dives Deep into C#

Filed under: Genel — admin @ 22:44

Peter Laudati & Dmitry Lyalin host the edu-taining Connected Show developer podcast on cloud computing and interoperability.  Check out episode #30, “You Don’t Find Skeet, Skeet Finds YOU!”.  In this episode, the man, the myth, the legend: C# MVP Jon Skeet joins Peter on a whirlwind tour into the bowels of the C# language. Jon talks up lambdas, expression trees, and other C# goodness. Prepare to have your brain tickled! (Interview starts at 31:18)

ConnectedShow Skeeter

Also, guest host Andrew Brust joins Peter to rap about phpBB in the Microsoft Web Platform Installer, Office 2010, Windows Phone 7, and HTML5 video.

CLICK HERE TO LISTEN!

If you like what you hear, check out previous episodes of the Connected Show at www.connectedshow.com.  You can subscribe on iTunes or Zune.  New episodes approximately every two weeks!

Older Posts »

Powered by WordPress