凌华 的个人资料张凌华照片日志列表更多 工具 帮助

日志


11月15日

Windows Server 2008 将与 Visual Studio 2008 以及 SQL Server 2008 共同发布

itpro_rc 

微软公司刚刚在全球伙伴大会 (Worldwide Partner Conference) 上郑重宣布,Windows Server 2008 将与 Visual Studio 2008 和 SQL Server 2008 于 2008 年 2 月 27 日在洛杉矶共同发布。作为微软公司历史上最重要的企业平台发布,这一发布将为接下来的几百个世界性活动所构成的微软“发布浪潮”正式拉开序幕。了解更多

 

 

发布倒计时

2008 全球发布浪潮
103
Days
Windows Server 2008, Microsoft Visual Studio 2008, Microsoft SQL Server 2008

将此小工具添加到您的 Vista 桌面

Windows Server 2008 内置的 Web 和虚拟化技术,可助您增强服务器基础结构的可靠性和灵活性。新的虚拟化工具、Web 资源和增强的安全性可助您节省时间、降低成本,并且向您提供了一个动态而优化的数据中心平台。强大的新工具,如 IIS7、Windows Server Manager 和 Windows PowerShell,能够使您加强对服务器的控制,并可助您简化 Web、配置和管理任务。先进的安全性和可靠性增强功能,如 Network Access Protection 和 Read-Only Domain Controller,可助您加强服务器操作系统安全并保护服务器环境,确保您拥有坚实的业务基础。

 

产品亮点

针对 Web 而建

Internet Information Services 7.0 是一个强大的应用程序和 Web 服务平台,可助您简化 Web 服务器管理,这个模块化的平台提供了简化的、基于任务的管理界面,更好的跨站点控制,增强的安全功能,以及集成的 Web 服务运行状态管理。

Internet Information Server (IIS) 7 和 .NET Framework 3.0 提供了一个综合性平台,用于建立连接用户与用户、用户与数据之间的应用程序,以使他们能够可视化、共享和处理信息。

虚拟化

Windows Server 2008 的虚拟化技术,可助您在一个服务器上虚拟化多种操作系统,如Windows、Linux 等等。服务器操作系统内置的虚拟化技术和更加简单灵活的授权策略,可助您获得前所未有的易用性优势并降低成本。

Windows Server 2008 可助您灵活地创建敏捷、动态的数据中心,以满足您不断变化的业务需求。

借助Terminal Services Gateway 和 Terminal Services RemoteApp ,您可以轻松进行远程访问并与本地桌面应用程序进行集成,还可实现在无需 VPN 的情况下,安全无缝地部署应用程序。

安全性

Windows Server 2008 是迄今为止最可靠的 Windows Server,它加强了操作系统安全性并进行了突破安全创新,包括 Network Access Protection、Federated Rights Management、Read-Only Domain Controller,可为您的网络、数据和业务提供最高水平的安全保护。

Windows Server 2008 可帮助您保护服务器、网络、数据和用户帐户安全,以免发生故障或遭到入侵。

Network Access Protection 能够帮助您隔离不符合组织安全策略的计算机,并提供网络限制、更正和实时符合性检查功能。

Federated Rights Management Services 提供了一个综合性信息保护平台,可对敏感数据提供持续性保护,同时帮助降低风险并保证符合性。

Read-Only Domain Controller 可支持部署 Active Directory Domain Services,同时限制整个 Active Directory 数据库的复制,以便更好地防止服务器的信息泄露或被窃取。

坚实的业务基础

Windows Server 2008 是迄今为止最灵活、最稳定的 Windows Server 操作系统,借助其新技术和新功能,如 Server Core、PowerShell、Windows Deployment Services 和加强的网络和群集技术,为您提供了性能最全面、最可靠的 Windows 平台,可以满足您所有的业务负载和应用程序要求。

Server Manager 可以加速服务器的安装和配置,并能通过统一的管理控制台,简化进行中的服务器角色管理。

Windows PowerShell 是一个全新的命令行 Shell, 提供130 多种工具,以及集成的脚本语言,帮助管理员实现例行系统管理任务自动化,尤其是针对跨多个服务器的任务自动化。

Server Core 是一个全新的安装选项,仅包含必要的组件和子系统,而没有图形用户界面,以提供一个具有高可用性,且较少需要进行更新和服务的服务器。

10月18日

前一阵子,MSN Live Writer 用不了了 。 于是研究了一下:Zoundry

前一阵子,重装了,系统, 发现最新版本的MSN Live Writer 只能安装在XP or Vista上面,不支持Windows2003 .于是乎研究了另外的写博客的工具 。 发现了 Zoundry .

这个软件很出名的,据说是类似工具的鼻祖 。 同时Zoundry也是全球知名度很高的博客群 。 以下是研究的通过他写微软Live的博客方式 。(截图是参照别人的英文博客的界面。中文博客类似)

本文仿照Dareo的写法,下面是用Zoundry Blog Writer连接MSN Spaces的步骤:

  1. 如果没有MSN Spaces,先去http://spaces.msn.com申请一个。
  2. 登录,修改你的MSN Spaces->设置->电子邮件发布"。
  3. 打开电子邮件发布,见下图(不知道为什么其它选项都是中文的,只有这页是英文的)
    113465442382
  4. 设定一个保密词
    113465447810
  5. 如果没有最新的Zoundry,可以到http://www.zoundry.com下载。
  6. 打开Zoundry,点Tools->Blog Account Settings
  7. 创建一个新的帐号用户名填你的目录名,例如,我使用i94smart,因为我的Spaces是http://spaces.msn.com/members/i94smart,密码是你打开电子邮件发布时设定的保密词。
    113465496125
  8. 类型选择"MSNSpaces",Zoundry设定很简单不需要设定SSL和端口
  9. 接着点"Next",直到结束。
  10. OK,你现在已经可以用Zoundry在MSN Spaces上发布你的Blog了。

终于写完了,松一口气~

10月14日

今日启动电脑总是出现驱动错误 ,经过查找是npkcrypt的错误

今日启动电脑总是出现驱动错误 ,经过查找是npkcrypt的错误 , 对于这个问题,我百思不得其解。因为没有这项Windows 服务 。

经过上网查询,原来这是QQ2006里的一个Bug 。 其实是做安全加密的一个驱动,但2006卸载后,它不会自动被卸载。因此就出现了这样的问题 。 解决方法如下:

1、在“我的电脑”上点右键,选“管理”->“设备管理器”。
2、选择“查看”/“显示隐藏的设备”,在“非即插即用驱动程序”中选择“npkcrypt”,卸载之。
3、运行“regedit”,可能存在键项:“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\npkcrypt”或“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\npkcrypt”等,删除之。
4、如果QQ目录存在:npkcrypt.sys、npkcrypt.vxd、npkcusb.sys 三个文件,删除之。
5、下次启动后即可生效。

12月5日

微软疯了 , 让人感觉他的脚步需要尽力追趕了。

2006-2007 是微软大丰收的两个年头  。 微软的许多拳头产品都在这个交替时期进行推陈出新了。而且还有很多大变革的产品 。
现在的微软真是势头强劲 , 一不小心就会跟不上他的脚步 。 如果要对他的产品进行一个全方位的学习和应用。那么你要做的事情就是学习+不断的学习了 。
 
让我们随便列举一下,这个变革时期微软做了些什么,在软件领域
 
No.1 , 万众瞩目的Vista正式版已经发布了。 估计中文版在2007年初面世  。 这个操作系统给我们带来的肯定是巨大的创新感受 。 号称是传统意义上的最后一个Windows平台了 。(各个版本我都进行了试用 )
 
No.2,Office 2007 正式发布了 。 (这个我只试用了Beta2) 。 Office 从 2003 - 2007 ,其中的变化大得惊人 。
 
No.3,Biztalk Server 2007  。 微软企业框架的拳头产品 。 从2004-2007 , 流程引擎全面采用了WWF  。 (因为没有下到,因此没有使用过)
 
No.4 , 程序员的福音  , .net 3.0 Framework 11月 正式发布了 。其中包括WPF , WCF , WWF & CardSpace 四大件 。 分别是全新的界面表现层 , 通讯层 以及控制层(流程引擎)  。(各个版本我都进行了试用)
 
No.5 , Microsoft Expression 系列正式版也完成了 , 即将开卖  。 这是微软结合.net 3.0的产品,包括Expression Design , ExpressWeb , ExpressMedia (微软最新更改的命名) 。 这套产品是微软用来向Adobe , Micromedia叫板的东东 。 用WPF 结合 Expression Design  来进行软件界面设计 , 一句话来描述就是: 只有想不到,没有做不到 。(从CTP开始试用)
 
No.6 , Atlas 正式更名为 Asp.net Ajax  。 并且发布了Beta2  。 对之前做了大量的更改,局部框架也变了。 导致很多跟着各个版本试用过来的人怨声载道 。 不过,我觉得框架的更改是合适的,弥补了以前Beta1设计的缺陷 。 正式发布估计要到2007年初 。 (各个版本都进行了试用)
 
No.7 , SharePoint Server 3.0发布了 。 惊喜啊 。 开发这块儿的程序员该笑了 。(还没有用)
 
No.8, Exchange Server 2007 正是发布了 。 作为微软的信息集群服务器 ,他的作用可不只是邮件服务器哟  。
 
No.9 , IE7 发布了 ,中文版也已经发布 。 对了,支持多Tab了:)
 
....
 
不说了,就这些已经足以证明微软疯了 。 顺便说一下 , 我最近作的几个项目基本上都用到了里面不少新的产品和特性 。 让我相信微软一次 ,陪他一块疯疯吧 。
 
9月14日

快速理解WPF的基础XAML

WPF是微软推出的新一代界面表现的基础 。 而XAML又是WPF的基础 , 因此理解XAML对我们以后的界面设计就至关重要了 。
 
为何微软要利用XML推出XAML语言呢? 
这是因为微软尝到了在Asp.net 2.0中界面设计和逻辑代码分离的好处 。即Code-Behind , 因此,它打算将.net开发的所有程序,无论是Asp.net 还是 WinForm都采用同样的方式来完成 。而利用Asp.net里面的语法肯定是不足的 。 因此便推出了 XAML , 以后大家设计界面只需要用一种语言(XAML)就可以生成两种界面(Web , WinForm)  , 那么Web 和 智能客户端完成的WinForm界面的界限就越来越模糊了。
我们打开.NetFramework 3.0提供的工具XAMLPAd ,在里面输入:

<Canvas Background="green" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <Button><Button.ContextMenu>
    <ContextMenu>
      <MenuItem Header="1">First item</MenuItem>
      <MenuItem Header="2">Second item</MenuItem>
    </ContextMenu>
  </Button.ContextMenu>
Todeath</Button>
</Canvas>

我们看看都实现了什么样的效果 。
 
有什么好处?
采用这种方式后 ,界面的表现更加多样化,用微软的语言来说就是界面设计只受想象的限制  。
 
C# 

// Create the application's main window
mainWindow = new Window ();
mainWindow.Title = "Margins, Padding and Alignment Sample";

// Add a Border
myBorder = new Border();
myBorder.Background = Brushes.LightBlue;
myBorder.BorderBrush = Brushes.Black;
myBorder.Padding = new Thickness(15);
myBorder.BorderThickness = new Thickness(2);

myStackPanel = new StackPanel();
myStackPanel.Background = Brushes.White;
myStackPanel.HorizontalAlignment = HorizontalAlignment.Center;
myStackPanel.VerticalAlignment = VerticalAlignment.Top;

TextBlock myTextBlock = new TextBlock();
myTextBlock.Margin = new Thickness(5, 0, 5, 0);
myTextBlock.FontSize = 18;
myTextBlock.HorizontalAlignment = HorizontalAlignment.Center;
myTextBlock.Text = "Alignment, Margin and Padding Sample";
Button myButton1 = new Button();
myButton1.HorizontalAlignment = HorizontalAlignment.Left;
myButton1.Margin = new Thickness(20);
myButton1.Content = "Button 1";
Button myButton2 = new Button();
myButton2.HorizontalAlignment = HorizontalAlignment.Right;
myButton2.Margin = new Thickness(10);
myButton2.Content = "Button 2";
Button myButton3 = new Button();
myButton3.HorizontalAlignment = HorizontalAlignment.Stretch;
myButton3.Margin = new Thickness(0);
myButton3.Content = "Button 3";

// Add child elements to the parent StackPanel
myStackPanel.Children.Add(myTextBlock);
myStackPanel.Children.Add(myButton1);
myStackPanel.Children.Add(myButton2);
myStackPanel.Children.Add(myButton3);

// Add the StackPanel as the lone Child of the Border
myBorder.Child = myStackPanel;

// Add the Border as the Content of the Parent Window Object
mainWindow.Content = myBorder;
mainWindow.Show ();

XAML 
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle="Margins, Padding and Alignment Sample">
  <Border Background="LightBlue" BorderBrush="Black" BorderThickness="2" Padding="15">
    <StackPanel Background="White" HorizontalAlignment="Center" VerticalAlignment="Top">
        <TextBlock Margin="5,0,5,0" FontSize="18" HorizontalAlignment="Center">Alignment, Margin and Padding Sample</TextBlock>
        <Button HorizontalAlignment="Left" Margin="20">Button 1</Button>
        <Button HorizontalAlignment="Right" Margin="10">Button 2</Button>
        <Button HorizontalAlignment="Stretch" Margin="0">Button 3</Button>
    </StackPanel> 
  </Border>    
</Page>
 是不是简单很多啊?
8月31日

WorkFlowFundation.2 微软提供的基础节点介绍

微软提供的基础节点蛮多的, 但总的来说, 在大型项目开发中只是凭借这些基础节点还是不够的 。 因此更多的要开发自定义节点。这个内容我会在后面讲到  。
 
为了方便记忆,我特意将这些基础节点分类讲解:
 
一,容器节点
Sequential workflow ,顺序流程 :
为何把流程放到这里讲解呢?因为,其实在WWF里面,流程是特殊的复合节点 。 (要有这个意识哟)
按照时序进行的流程
 
State machine workflow , 状态流程 :
定义某一个状态的流程 ,往往用在一个复杂流程的内部扭转 。
 
ExceptionHandler . 包含异常句柄的节点 。 (这个组件在RC版本好像已经不存在了)
Compensate .  也是放置异常节点的 。 是异常节点中所引用的组件结合 。
 
二,条件节点
While 节点
IElse 节点
ConditionedActivityGroup(这个节点属于高级复合节点)
Replicator(这个节点属于高级复合节点)
 
三,控制流程节点
Sequence Activity 时序节点。
这个节点是最常规的节点 。 一个顺序流程走下来 。
Parallel Activity 平行节点 。
和时序节点相对应的就是几条线同时发展的时候就使用这个节点 。
Delay Activity 延时节点 。
有些类似于Timer , 起到延时作用。
 
四,流程生命周期节点
InvokeWorkflow 调用执行一个流程
Suspend Activity 暂停节点 这个是多线程里的停止
Terminate Activity 中止一个流程退出 。
 
五,事件等待节点
EventDriven 事件驱动节点 。 这个节点只能放在Listen节点和EventHandingScope中 。
Listen Activity 监听节点 。和Win32的Listen是一样的 。
 
六,事务和异常节点
TransactionScope 事务节点
利用这个节点,把一个时序流程控制在事务中 , 中途退出的时候整个事务都可以取消 。
Throw Activity  ,抛出节点 。顾名思义,抛出异常 。
ExceptionHandler , 异常句柄节点,还可以自定义异常类 。
Compensate Activity 补偿节点 ,在RC版本中改为了CompensatableTransactionScope节点 。
 
七,数据中心节点
数据交互全靠数据中心节点 。
UpdateData 将Workflow中的数据更新到Host 。
SelectData 选择Host过来的数据 ,并且在Workflow中处理 。
WaitForData
WaitForQuery
 
八,Web Service 节点
InvokeWebService 调用WebService节点 
其实在Workflow中是可以直接引用WebService来进行开发的。之所以提供这个节点是因为考虑到.net之外的WebService 。
 
WebServiceReceive 发送WebService请求
WebServiceResponse 得到WebService响应 。
 
九,代码节点
Code Activity , 顾名思义,填写代码的地方 。
 
十,状态工作流节点
State Activity .
StateInitialization
StateFinalization
SetState
 
十一,自定义节点
InvokeMethod
EventSink
 
 
 
 
 
 
 
 
 
 
 
8月29日

WorkFlowFundation.1 初探

 目前网络上没有看到系统的指导Microsoft WorkFlowFundation(下面简称WFF)的文章 , 看来,又需要我抛砖引玉了 。 反正最近推掉了清华大学出版社出书的合作事项 , 那么就把一些话放到自己的博客上吧 。 自由还是自己的天性 , 不用那么严谨和工作的态度来对待出书也许是一件好事儿,可以有更多的时间来做自己的项目,赚更多的Money (俗人啊)
 
我们先看看安装了WWF Extensions 后我们的VSTS2005里多了哪些项目(见图a):
 
 
我们新建了一个Sequential WorkFlow Console Application . 启动代码如下:
 

static void Main(string[] args)
        {
            using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
            {
                AutoResetEvent waitHandle = new AutoResetEvent(false);
                workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();};
                workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
                {
                    Console.WriteLine(e.Exception.Message);
                    waitHandle.Set();
                };

                WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication3.Workflow1));
                instance.Start();

                waitHandle.WaitOne();
            }
        }

 
通过代码,我们可以看出,触发一个流程是这样的 :
      1,首先新建一个WorkflowRuntime , 打开一个新的线程  。
      2,通过workflowRuntime.CreateWorkflow 启动一个工作流  。
      3,传入的是我们的流程实例 Workflow1 , 这个重载函数后面的参数包括Dictionary 字典表 。
可见 , 每一次启动一个流程实例都是启动一个新的线程 。 而工作流之所以能够实现还是多亏了委托 。
 
待续......
 
 
 
 
8月28日

.Net Framework 3.0 安装心得

官方网站:http://www.netfx3.com/
 
早在WinFX(现在的.Net Framework3.0) Beta1的时候就已经开始安装和适用了,一直对它的三大件WPF , WCF , WFF 关注不一  。 一直跟着 它的发布走过了Beta2 , RC版本,到现在,每个阶段我都测试和开发 。 这里我稍微把自己这些适用版本的安装心得和大家分享一下吧 。
通过我这简单的分享 , 大家就可以很快轻松体验.Net Framework3.0 RC的快乐了 。
 
Beta1的安装还是蛮容易的 , 但是Beta2确实不好安装 , 我的WFF开发一直一直没有真正成功过 。 到现在RC版本 , 微软还是保持着他一贯的不良作风 ,那就是:测试版本的每个微小变化都不兼容 。 比如现在,微软比较新的两个版本是 Pre-Release July 版本和 Pre-Release June版本 ,建议安装June版本 , 因为July的“Orcas”for VSTS2005的工具还没有推出 。
 
下面看看我们的安装注意事项和安装顺序吧 。
安装注意事项:
1,因为要安装好几个包 。 每个包都要严格对应相应的Framework Runtime 。
2,每次要变换不同的版本SDK的时候要删除先前的版本 。
 
安装顺序:
1,.Net Framework3.0 June版本 - 对应 Vista版本5456  。 大概47M
2,WindowsSDK_Vista_5456 。大概1.2G , 没有这个可以运行程序但是无法开发
3,"Orcas" Development Tools June版本 。大概4M
4,Visual Studio 2005 Extensions for Windows Workflow Foundation RC2(EN) 。 RC4版本对应的是July版本的Framework,因此这里一定要RC2版本
 
安装完了,看看我的开发吧: