<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>完美生活 - .NET技术</title><link>http://blog.hnce.net/</link><description>专注于网站技术与网络营销的博客 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 81206</generator><language>zh-CN</language><copyright>Copyright 2005 - 2009, 完美生活(专注于网站技术与网络营销的博客). Some Rights Reserved. </copyright><pubDate>Thu, 09 Sep 2010 09:26:45 +0800</pubDate><item><title>微软发布ASP.NET MVC 1.0</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/asp-net-mvc-1-0-releases.html</link><pubDate>Thu, 19 Mar 2009 03:47:00 +0800</pubDate><guid>http://blog.hnce.net/post/asp-net-mvc-1-0-releases.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 微软发布了ASP.NET MVC 1.0，在历经了5个Prevew版，2个RC版之后，终于在大家的期待之中到来，从2007年11月发布第一个预览版至今近一年半。尽管如此，这一两年来关于ASP.NET MVC的资料却从来没有中断过，博客园也好，CSDN也好，以及微软的Webcast上面，都相当的丰富。可能很多朋友都在等待正式版的发布，现在可以去学习并应用于项目之中了。</p><p>&nbsp;</p><p>MVC描述：</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MVC（Model-View-Controller，模型&mdash;视图&mdash;控制器模式）用于表示一种软件架构模式,它把软件系统分为三个基本部分：模型（Model），视图（View）和控制器（Controller）。ASP.NET MVC 使你能够建立模型(Model)、视图(View)、控制器(Controller) 的ASP.NET应用。</p><p>&nbsp;</p><p>Model: 负责应用程序状态的存储，通常和数据库的表对应。   <br />View: 用来显示数据，除了格式化数据的显示方式外，基本上不做其他。    <br />Controller: 用来处理Model和View的交互。</p><p>&nbsp;</p><p>另：今天微软在拉斯维加斯举行每年一度的MIX大会，MIX大会主要面向Web开发的设计者和开发者，微软除发布了ASP.NET MVC 1.0外，还发布了Silverlight 3.0 beta1、Expression Blend 3.0 Preview。</p><p>&nbsp;</p><p>相关链接：</p><p><a href="http://www.asp.net/mvc/" target="_blank">ASP.NET MVC官方网站</a></p><p><a href="http://download.microsoft.com/download/A/6/8/A68968AE-DE1D-4FA4-A98A-B74042C6090D/AspNetMVC1.msi" target="_blank">ASP.NET MVC 1.0下载</a></p><p><a href="http://download.microsoft.com/download/A/6/8/A68968AE-DE1D-4FA4-A98A-B74042C6090D/ASP.NET%20MVC%20-%201.0%20Release%20Notes.doc" target="_blank">ASP.NET MVC 1.1文档</a></p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/asp-net-mvc-1-0-releases.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=434</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=434&amp;key=2598e360</trackback:ping></item><item><title>ASP.Net中基于jQuery的jMsAjax</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/jquery-jmsajax-aspnet.html</link><pubDate>Mon, 16 Mar 2009 14:01:00 +0800</pubDate><guid>http://blog.hnce.net/post/jquery-jmsajax-aspnet.html</guid><description><![CDATA[<p>&#160;&#160;&#160;&#160;&#160; jMsAjax是一套基于jQuery改进了的简单包装插件，实现对ASP.Net的Ajax完整功能支持。插件同时实现了Web方法和Web服务的GET和POST的请求。 </p>  <p>官方提供的使用方法：    <br /><strong><font color="#800000">Defaults:        <br /></font></strong>type: &quot;POST&quot;     <br />data: {}     <br />dataType: &quot;msjson&quot;     <br />error: function to return the status and message </p>  <p>&#160;</p>  <p><strong><font color="#800000">Basic Usage:</font>       <br /></strong>$.jmsajax({     <br />&#160;&#160; url: &quot;jMsAjax.aspx&quot;,     <br />&#160;&#160; method: &quot;getTime&quot;,     <br />&#160;&#160; success: function(data) {     <br />&#160;&#160;&#160;&#160;&#160; $(&quot;#div&quot;).html(String(data));     <br />&#160;&#160; }     <br />}); </p>  <p>&#160;</p>  <p><strong><font color="#800000">Advanced Usage:</font></strong>     <br />$.jmsajax({     <br />&#160;&#160; type: &quot;POST&quot;,     <br />&#160;&#160; url: &quot;jMsAjax.aspx&quot;,     <br />&#160;&#160; method: &quot;getTime&quot;,     <br />&#160;&#160; dataType: &quot;msjson&quot;,     <br />&#160;&#160; data: { date_in: new Date() },     <br />&#160;&#160; success: function(data) {     <br />&#160;&#160;&#160;&#160;&#160; $(&quot;#div&quot;).html(String(data));     <br />&#160;&#160; }     <br />}); </p>  <p>&#160;</p>  <p>实验步骤：</p>  <ol>   <li>使用Visual Studio 2008新建项目(.Net&#160; Framework选择3.5） </li>    <li>下载jQuery和jMsAjax，并在项目中添加两个js文件的引用 </li>    <li>在Default.aspx设计器中添加：      <p>&lt;div&gt; </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 姓名： &lt;input id=&quot;UserName&quot; type=&quot;text&quot; size=&quot;15&quot; runat=&quot;server&quot; /&gt;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; 城市： &lt;input id=&quot;UserCity&quot; type=&quot;text&quot; size=&quot;15&quot; runat=&quot;server&quot; /&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;         <br />&#160;&#160;&#160; &lt;input id=&quot;btnAspx&quot; type=&quot;button&quot; value=&quot;提交&quot; /&gt;         <br />&lt;/div&gt;         <br />&lt;div id=&quot;div1&quot;&gt;&lt;/div&gt;</p>   </li>    <li>添加Js方法      <br />&lt;script type=&quot;text/javascript&quot;&gt;       <br />&#160;&#160;&#160; $(function()       <p>&#160;&#160;&#160; { </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; $(&quot;#btnAspx&quot;).click(function() </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; { </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $.jmsajax({ </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; url: &quot;Default.aspx&quot;, </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; method: &quot;GetTest&quot;, </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; data: </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; UserName: $(&quot;#UserName&quot;).val(), </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; UserCity: $(&quot;#UserCity&quot;).val() </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }, </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; success: function(data) </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $(&quot;#div1&quot;).html(String(data)); </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }); </p>      <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; }); </p>      <p>&#160;&#160;&#160; });        <br />&lt;/script&gt;</p>   </li>    <li>后台代码 Default.aspx.cs中添加方法      <p>[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]        <br />[System.Web.Services.WebMethod]         <br />public static string GetTest(string UserName, string UserCity)         <br />{ </p>      <p>&#160;&#160;&#160; return UserName + &quot;，&quot; + UserCity&#160; +&#160;&#160; &quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 现在时间:&quot; + DateTime.Now.ToString(); </p>      <p>}</p>   </li> </ol>  <p>&#160;</p>  <p>相关链接：</p>  <p><a href="http://cid-8b7e7749d3aeb1b2.skydrive.live.com/self.aspx/.Public/jMsAjax.zip" target="_blank">Example源程序下载</a></p>  <p><a href="http://schotime.net/jMsAjax.aspx" target="_blank">jMsAjax官方网站</a></p>  <p><a href="http://jquery.com/" target="_blank">jQuery官方网站</a></p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/jquery-jmsajax-aspnet.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=433</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=433&amp;key=d0f955f4</trackback:ping></item><item><title>在ASP.NET2.0中上传多个文件</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/Uploading-Multiple-Files-in-aspdotnet.html</link><pubDate>Tue, 10 Mar 2009 15:53:00 +0800</pubDate><guid>http://blog.hnce.net/post/Uploading-Multiple-Files-in-aspdotnet.html</guid><description><![CDATA[<p>&#160;&#160;&#160; 在ASP.NET 2.0中，用户可以通过FileUpload控件将本地的文件通过Web页面上传至服务器上，FileUpload控件由一个文本框和一个浏览按钮组成，点击“浏览”按钮允许用户选择一个本地的文件，并将文件由客户端上传到服务器。通过调用FileUpload控件的SaveAs方法将文件保存到服务器上的指定路径，这使得单个文件的上传变得容易。但是多个文件该如何实现呢？这篇POST将介绍在ASP.NET 2.0中使用HttpFileCollection类实现多文件的上传。 </p>  <p>&#160;</p>  <p>按照下更两个步骤：   <br />第一步：在Web页面上放置需要数量的FileUpload控件，本例将放置3个。    <br />第二步：添加一个Button控件，并命名为“上传”。 </p>  <p>aspx 页面代码:   <br /></p>  <p>&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeBehind=&quot;Default.aspx.cs&quot; Inherits=&quot;WebUI._Default&quot; %&gt; </p>  <p>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt; </p>  <p>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;   <br />&lt;head runat=&quot;server&quot;&gt;    <br />&#160;&#160;&#160; &lt;title&gt;ASP.NET 2.0多文件上传&lt;/title&gt;    <br />&lt;/head&gt;    <br />&lt;body&gt;    <br />&#160;&#160;&#160; &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;    <br />&#160;&#160;&#160; &lt;div&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;asp:FileUpload ID=&quot;FileUpload1&quot; runat=&quot;server&quot; /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;asp:FileUpload ID=&quot;FileUpload2&quot; runat=&quot;server&quot; /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;asp:FileUpload ID=&quot;FileUpload3&quot; runat=&quot;server&quot; /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;br /&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;asp:Button ID=&quot;btnUpload&quot; runat=&quot;server&quot; Text=&quot;上&#160; 传&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; onclick=&quot;btnUpload_Click&quot; /&gt;    <br />&#160;&#160;&#160; &lt;/div&gt;    <br />&#160;&#160;&#160; &lt;/form&gt;    <br />&lt;/body&gt;    <br />&lt;/html&gt; </p>  <p>&#160;</p>  <p>aspx.cs代码：</p>  <p>   <br />using System;    <br />using System.Collections;    <br />using System.Configuration;    <br />using System.Data;    <br />using System.Web;    <br />using System.Web.Security;    <br />using System.Web.UI;    <br />using System.Web.UI.HtmlControls;    <br />using System.Web.UI.WebControls;    <br />using System.Web.UI.WebControls.WebParts;    <br />using System.IO; </p>  <p>namespace WebUI   <br />{    <br />&#160;&#160;&#160; public partial class _Default : System.Web.UI.Page    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; protected void Page_Load(object sender, EventArgs e)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; { </p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; protected void btnUpload_Click(object sender, EventArgs e)   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; try    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; HttpFileCollection hfc = Request.Files;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; for (int i = 0; i &lt; hfc.Count; i++)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; HttpPostedFile hpf = hfc[i];    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (hpf.ContentLength &gt; 0)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hpf.SaveAs(Server.MapPath(&quot;Upload&quot;) + &quot;\\&quot; + Path.GetFileName(hpf.FileName));    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; catch (Exception ex)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Response.Write(ex);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160; }    <br />} </p>  <p>写在后面：   <br />1、如果你每次上传的文件总大小超过了4MB，需要修改Web.config文件，在&lt;httpRuntime&gt;节点中设置maxRequestLength属性的值，单位为KB。    <br />2、要给服务器上接收上传文件的目录赋予能写文件的权限，本例为Upload目录。 </p>  <p>关于httpRuntime部分的更详细设置，大家可以至Google中搜索“httpRuntime”获得更多信息。 </p>  <p>&#160;</p>  <p>运行效果图</p>  <p><a href="http://blog.hnce.net/UPLOAD/2009/3/ASP.NET2.0_32/1.jpg"><img title="未命名1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="354" alt="未命名1" src="http://blog.hnce.net/UPLOAD/2009/3/ASP.NET2.0_32/1_thumb.jpg" width="523" border="0" /></a> </p>  <p>&#160;</p>  <p>Demo下载：<a href="http://cid-8b7e7749d3aeb1b2.skydrive.live.com/self.aspx/.Public/Upload%7C_Files.zip" target="_blank">ASP.Net 2.0多文件上传Demo下载</a></p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/Uploading-Multiple-Files-in-aspdotnet.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=432</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=432&amp;key=a6470b15</trackback:ping></item><item><title>.NET Framework 2.0 Service Pack 2发布</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/427.html</link><pubDate>Sun, 18 Jan 2009 14:56:00 +0800</pubDate><guid>http://blog.hnce.net/post/427.html</guid><description><![CDATA[<p>&#160;&#160;&#160;&#160;&#160; 微软在1月16日发布了.Net 2.0 SP3，最近一段Service Pack特别多，SQL Server2005的SP3才装上没有多久。官方对于这个补丁功能说明是：</p>  <p>&#160;&#160;&#160;&#160;&#160; .NET Framework 2.0 Service Pack 2 是专为解决客户在 .NET Framework 2.0 发布后报告的问题而提供的累积更新。此外，此发行版为 .NET Framework 3.5 Service Pack 1 提供了性能改进和必备功能支持。 </p>  <p>&#160;&#160;&#160;&#160;&#160; 请在系统需求一节中查看此部署程序包支持的操作系统。Microsoft Vista 的相应更新和 Microsoft Windows 2008 的相应更新可通过完整的 .NET Framework 3.5 service pack 1 部署。</p>  <p>.NET Framework 2.0 Service Pack 2下载页面：</p>  <p><a title="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f" href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f" target="_blank">http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f</a></p>  <p>&#160;&#160;&#160;&#160;&#160; 08年也过完了，博客沉静一个多月了，手头的项目总算暂时完成，后期的待客户方将需求整理完成之后再继续，感觉要写点东西了，再不写点东西就要过年了。</p>  <p>&#160;&#160;&#160;&#160;&#160; 不知不觉2008年已经成为了历史，反应过来的时候，才知道农历的新年就要到来了。回顾这一年，全职的工作岗位真的算是与技术没有关系了，但是发现自己还是在追求着技术的乐趣与成就感。回顾这一年的工作，虽为超额完成了公司年初下达的任务，但是自己感觉这一切除了努力之外还是运气，希望在09年自己以及家人还有朋友们鸿运高照！</p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/427.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=427</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=427&amp;key=51176bab</trackback:ping></item><item><title>.Net改头换貌，微软启用.Net新Logo</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/dotnet-new-logo.html</link><pubDate>Wed, 29 Oct 2008 15:06:30 +0800</pubDate><guid>http://blog.hnce.net/post/dotnet-new-logo.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 伴随PDC 2008的大幕在美国开启，Microsoft公布了.Net的新Logo，新的Logo主题是Wave,非常酷，蓝色飘舞的波浪形状。微软表示新Logo代表协调、强健和优秀的用户体验。除了和微软近期其它产品保持风格上的统一，比如：Silverlight。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 历经8年的风霜，.Net一路走来，从1.0到了现在的3.5，4.0的预览版也出来了。时至今日它已经足够成熟而且有了自己明确的方向。希望新的形象，能给我们广大.Net的开发者带来更多的惊喜。</p><p>&nbsp;</p><p><a href="http://blog.hnce.net/UPLOAD/2008/10/.Net.NetLogo_14353/Logo.jpg"><img width="380" height="76" border="0" src="http://blog.hnce.net/UPLOAD/2008/10/.Net.NetLogo_14353/Logo_thumb.jpg" alt="Logo" style="border-width: 0px;" /></a>&nbsp;</p><p>Microsoft .Net新Logo</p><p>&nbsp;</p><p><a href="http://blog.hnce.net/UPLOAD/2008/10/.Net.NetLogo_14353/DotNetLogo_thumb.jpg"><img width="143" height="93" border="0" src="http://blog.hnce.net/UPLOAD/2008/10/.Net.NetLogo_14353/DotNetLogo_thumb_thumb.jpg" alt="DotNetLogo_thumb" style="border-width: 0px;" /></a></p><p>大家熟悉的 .Net 旧Logo</p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/dotnet-new-logo.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=422</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=422&amp;key=42317297</trackback:ping></item><item><title>MSDN Library for Visual Studio 2008 SP1 中文版发布</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/msdn-library-for-vs2008sp1-chs_7364.html</link><pubDate>Sat, 04 Oct 2008 16:04:19 +0800</pubDate><guid>http://blog.hnce.net/post/msdn-library-for-vs2008sp1-chs_7364.html</guid><description><![CDATA[<p>&#160;&#160;&#160;&#160;&#160;&#160; 国庆长期接近尾声，正当我们在享受假期的时候，微软在9月29日发布了MSDN Library for VS 2008 SP1 ，距离VS 2008 SP1发布已经有一段时间了，相信此次MSDN的更新会在SP1中更新的功能提供最权威的开发文档。此次MSDN主要新增的功能包括：介绍Entity Framework、实体数据模型工具。有需要的朋友可以去下载，文件包比较大(2048.5 MB)，提前作好心理准备。</p>  <p><strong>新增功能</strong>&#160;&#160; <br /><strong>介绍 Entity Framework</strong>&#160;&#160; 使用 Entity Framework，开发人员可只处理域特定对象和属性形式的数据（例如，客户和客户的地址），而无需考虑存放数据的基础数据库表和列。 </p>  <p><strong>实体数据模型工具</strong>&#160;&#160; 实体数据模型 (EDM) 用于将数据定义为公共语言运行库 (CLR) 类型和存储结构可以映射到的实体集和关系集。使用 EDM，开发人员可针对概念数据模型编程，而不是直接针对数据的存储架构编程。 </p>  <p><strong>&#8220;如何实现&#8221;页</strong>&#160;&#160; &#8220;如何实现&#8221;页显示一个分类视图，用于从中选择可以浏览的帮助内容。 </p>  <p><strong>使用联机帮助</strong>&#160;&#160; MSDN Library 让您能够使用本机帮助或 MSDN Online 来显示 F1 主题和执行搜索。 </p>  <p><strong>帮助筛选器</strong>&#160;&#160; 现在可以对目录和索引使用预定义的筛选器，而为搜索使用一个不同的自定义筛选器。 </p>  <p><strong>保存搜索查询</strong>&#160;&#160; 您可以保存帮助搜索查询，从而能够在需要时重新运行同一搜索查询。 </p>  <p>&#160;</p>  <p>MSDN Library 提供了一些基础编程信息，包括开发 Web 服务和应用程序所需的技术参考文档、白皮书、软件开发工具包和代码示例。</p>  <p>MSDN Library for Visual Studio 2008 SP1 中的更新内容集包括：    <br />* Visual Studio 2008 Service Pack 1 文档     <br />* Visual Studio 2008 常规文档更新     <br />* Windows 开发人员文档更新     <br />* Microsoft 知识库</p>  <p>&#160;</p>  <p>相关链接:</p>  <p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373" target="_blank">MSDN Library for Visual Studio 2008 SP1&#160; 下载详细信息</a></p>  <p><a href="http://download.microsoft.com/download/f/d/e/fde79687-b716-4893-9be3-1512f40388b1/CHSMSDNX1519329.ISO" target="_blank">MSDN Library for Visual Studio 2008 SP1&#160; 直接下载文件</a></p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/msdn-library-for-vs2008sp1-chs_7364.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=418</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=418&amp;key=d0f40231</trackback:ping></item><item><title>在ASP.NET中将图像保存到SQL Server 2000数据库</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/save-image-into-sqlserver-dabase.html</link><pubDate>Sat, 05 Jul 2008 05:55:25 +0800</pubDate><guid>http://blog.hnce.net/post/save-image-into-sqlserver-dabase.html</guid><description><![CDATA[<p>&#160;&#160;&#160;&#160;&#160;&#160; 上一次用到这样的功能是在去年的时候，是在开发一个彩信接收的管理平台，使用的是ASP.NET+Oracle，事隔已久，今天突然需要用到这个功能，不过存储的数据库是SQL SERVER2000，于是将实现的方法写上来。同时在后面这个功能源文件的下载。</p>  <p>&#160;</p>  <p>在VS2005中新建好一个项目，两个.aspx文件，一个用来上传图片、另一个用来显示上传的图片。一般的情况下大家开发都是将图片存放在服务器的某个文件夹下面，采用直接读取文件的方式来完成图像文件的在程序应用中的使用；但是在某些场合可能需要用到将图片保存在数据库中以求达到更好的保密性等。比如OA中对于公司电子印章的保存、人事系统中人员寸照等等地方。</p>  <p>&#160;</p>  <p>上传图片的界面:</p>  <p><a href="http://blog.hnce.net/UPLOAD/2008/7/ASP.NETSQLServer2000_C4D5/tmp1FC.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="152" alt="tmp1FC" src="http://blog.hnce.net/UPLOAD/2008/7/ASP.NETSQLServer2000_C4D5/tmp1FC_thumb.png" width="330" border="0" /></a></p>  <p>&#160;</p>  <p>保存图片部分代码：</p>  <p>protected void Btn_Save_Click(object sender, EventArgs e)    <br />{     <br />&#160;&#160;&#160; int ImageLen = this.FileUpload1.PostedFile.ContentLength;     <br />&#160;&#160;&#160; byte[] Image = new byte[ImageLen];     <br />&#160;&#160;&#160; this.FileUpload1.PostedFile.InputStream.Read(Image, 0, ImageLen); </p>  <p>&#160;&#160;&#160; SqlConnection Conn = new SqlConnection(@&quot;server=localhost;database=Test;uid=test;pwd=123456&quot;); </p>  <p>&#160;&#160;&#160; Conn.Open();    <br />&#160;&#160;&#160; SqlCommand cmd = new SqlCommand(&quot;INSERT INTO Images_Info (Image_Name,Image_Content) VALUES (@Image_Name,@Image_Content)&quot;,Conn);     <br />&#160;&#160;&#160; cmd.Parameters.Add(&quot;@Image_Name&quot;, SqlDbType.VarChar);     <br />&#160;&#160;&#160; cmd.Parameters.Add(&quot;@Image_Content&quot;, SqlDbType.Image);     <br />&#160;&#160;&#160; cmd.Parameters[0].Value = this.TextBox1.Text.ToString();     <br />&#160;&#160;&#160; cmd.Parameters[1].Value = Image;     <br />&#160;&#160;&#160; cmd.ExecuteNonQuery();     <br />}</p>  <p>&#160;</p>  <p>显示图片的界面:</p>  <p><a href="http://blog.hnce.net/UPLOAD/2008/7/ASP.NETSQLServer2000_C4D5/tmp1FE.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="300" alt="tmp1FE" src="http://blog.hnce.net/UPLOAD/2008/7/ASP.NETSQLServer2000_C4D5/tmp1FE_thumb.png" width="442" border="0" /></a></p>  <p>显示图片部分代码：</p>  <p>protected void Page_Load(object sender, EventArgs e)    <br />{     <br />&#160;&#160;&#160; MemoryStream Stream = new MemoryStream();     <br />&#160;&#160;&#160; SqlConnection Conn = new SqlConnection(@&quot;server=localhost;database=Test;uid=test;pwd=123456&quot;);     <br />&#160;&#160;&#160; Conn.Open();     <br />&#160;&#160;&#160; SqlCommand cmd = new SqlCommand(&quot;SELECT Image_Content FROM Images_Info Order BY Image_ID ASC&quot;, Conn);     <br />&#160;&#160;&#160; byte[] image = (byte[])cmd.ExecuteScalar();     <br />&#160;&#160;&#160; Stream.Write(image, 0, image.Length);     <br />&#160;&#160;&#160; Bitmap bitmap = new Bitmap(Stream);     <br />&#160;&#160;&#160; Response.ContentType = &quot;image/gif&quot;;     <br />&#160;&#160;&#160; bitmap.Save(Response.OutputStream, ImageFormat.Gif);     <br />}</p>  <p>&#160;</p>  <p>Demo下载地址：<a title="ASP.NET将图像保存数据库" href="http://blog.hnce.net/doc/Image_Into_SQL.zip" target="_blank">http://blog.hnce.net/doc/Image_Into_SQL.zip</a></p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/save-image-into-sqlserver-dabase.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=396</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=396&amp;key=3dde8f89</trackback:ping></item><item><title>ASP.NET MVC Preview 3 发布</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/aspnet_mvc_preview3_release.html</link><pubDate>Fri, 30 May 2008 10:18:30 +0800</pubDate><guid>http://blog.hnce.net/post/aspnet_mvc_preview3_release.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASP.NET MVC Preview 3已经发布,最新版本在ASP.NET 3.5运行时上提供了一个新的模型视图控制器(MVC)框架.这意味着开发者可以利用MVC方式设计各种Web应用.新的 ASP.NET MVC 框架选项非常干净,而且容易使用.它将允许你在你的应用中很轻易地保持关注分离,而且有助于进行干净的测试和TDD.更多改进变化在Scott的博客中已经写得很详细，大家可以点击下面的链接查看。</p><p>&nbsp;</p><p>相关链接：</p><p><a target="_blank" href="http://www.asp.net/mvc/">ASP.Net&nbsp; MVC网站</a></p><p style="text-align: left;"><a target="_blank" href="http://blog.joycode.com/scottgu/archive/2008/05/28/115127.aspx">ASP.Net 第三个预览版发布了</a>(Scott中文博客)</p><p style="text-align: left;"><a title="ASP.NET MVC 第三个预览版发布了" href="http://weblogs.asp.net/scottgu/archive/2008/05/27/asp-net-mvc-preview-3-release.aspx" target="_blank">ASP.NET MVC Preview 3 Release </a>(Scott博客原文)</p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/aspnet_mvc_preview3_release.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=381</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=381&amp;key=3c07fc3e</trackback:ping></item><item><title>ASP.Net2.0连接PostgreSQL数据库</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/aspnet_connection_postgresql.html</link><pubDate>Wed, 28 May 2008 20:56:45 +0800</pubDate><guid>http://blog.hnce.net/post/aspnet_connection_postgresql.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PostgreSQL 是一种非常先进的对象-关系型数据库管理系统（ORDBMS），目前功能最强大，特性最丰富和最先进的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利（BSD）的数据库研究计划目前已经衍生成一项国际开发项目，并且有非常广泛的用户。自从MySQL 被Sun 收购后，相信很多对该收购不放心的朋友会转而看好PostgreSQL 的前途。之前我曾经博客中介绍过<a href="http://blog.hnce.net/post/install_postgresql_in_ubuntu.html" target="_blank">Ubuntu中通过源码安装编译安装PostgreSQL</a>。在ASP.Net中使用PostgreSQL数据库作为后端数据存储，连接方法有以下两种：<br /><br />一、采用商业组件的方式PostgreSQLDirect .NET<br />目前商业组件使用较多的是PostgreSQLDirect .NET，不过这个需要付费，最便宜的标准版网上报价也要1000元人民币。<br />PostgreSQLDirect .NET是一款为Microsoft .NET Framework提供直接PostgreSQL数据库连接的数据发生器控件。它完全基于ADO.NET方法，因此您完全可以采用标准ADO.NET数据提供的方法来使用它。<br />安装之后会在Visual Studio 2005工具栏出现PostgreSQLDirect组件包含了PgSqlConnection PgSqlCommand PgSqlDataAdapter 等控件(如下图)，然后在项目里添加引用：CoreLab.Data和CoreLab.PostgreSql，可以拖放控件连接数据库，使用方法2005的和自带控件基本相同。也可以写代码连接数据库，具体代码如下：<br /><br />PgSqlDataSet ds = new PgSqlDataSet();<br />string sql = &quot;SELECT * FROM test WHERE tid=3000&quot;;<br />PgSqlConnection con = new PgSqlConnectio(&quot;user id=username;Password=pwd;host=hostname;database=test&quot;);<br />PgSqlDataAdapter da = new PgSqlDataAdapter(sql, con);<br />da.Fill(ds);<br />this.dataGridView1.DataSource = ds;<br />this.dataGridView1.DataMember = ds.Tables[0].ToString();</p><p style="text-align: center;"><img onload="ResizeImage(this,520)" src="http://blog.hnce.net/upload/2008/5/200805290048267178.gif" alt="" title=""/></p><p style="text-align: center;">安装PostgreSQLDirect .NET之后的工具栏</p><p style="text-align: left;">二、使用开源组件Npgsql</p><p style="text-align: left;">Npgsql是一个为开源数据库PostgreSQL提供.NET Framework平台下数据驱动服务的库函数程序集(.NET Data Provider)，它允许用户在.NET Framework平台下建立用于访问PostgreSQL数据库的应用。</p><p style="text-align: left;">解压后将其中的两个dll文件复制到应用程序的Bin目录下，然后在项目里添加引：Mono.Security和NPgSQL，在代码里添加using NpgSQL;具体代码如下:<br /><br />string sql = &quot;SELECT * FROM test WHERE tid=3000&quot;;<br />NpgsqlConnection con = new NpgsqlConnection(&quot;server=hostname;uid=username;pwd=pwd;database=test&quot;);<br />NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql,con);<br />DataSet ds = new DataSet();<br />da.Fill(ds);<br />this.dataGridView1.DataSource = ds;<br />this.dataGridView1.DataMember = ds.Tables[0].ToString();</p><p style="text-align: left;">相关链接：<br /><a target="_blank" href="http://www.crlab.com/pgsqlnet/">PostgreSQLDirect .NET官方网站</a><br /><a href="http://pgfoundry.org/projects/npgsql" target="_blank">Npgsql官方网站</a><br /><a target="_blank" href="http://www.postgresql.org/">PostgreSQL官方网站</a></p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/aspnet_connection_postgresql.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=380</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=380&amp;key=7c6e4e72</trackback:ping></item><item><title>通过C#获取Windows系统特殊文件夹的路径</title><author>a@b.com (slick)</author><link>http://blog.hnce.net/post/csharp_get_special_folder.html</link><pubDate>Thu, 08 May 2008 23:05:15 +0800</pubDate><guid>http://blog.hnce.net/post/csharp_get_special_folder.html</guid><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因为工作的一些平台不得不在IE下使用，一直以来在浏览器IE和Firefox之间转换来去；IE收藏夹与Firefox收签的同步成为了困难我的；在网上找了好几个凑伙着用了一段时间还是不如意。最近准备自己来弄一个，IE收藏夹与Firefox自动同步的工具。昨晚开始在作一些准备工作了；IE收藏夹地址作为Windows系统的一个特殊文件夹如何在C#开发时自动获取呢？</p><p>如果你也和我一样正遇到这样的问题时，不要慌，微软的.Net类库很方便的为我们提供了一个方法来获取这些特殊文夹件的地址.</p><p><font face="Courier New">Environment.GetFolderPath 方法 <br />获取指向由指定枚举标识的系统特殊文件夹的路径。 <br />命名空间:System<br />public static string GetFolderPath (<br />&nbsp;&nbsp; &nbsp;SpecialFolder folder<br />)</font></p><p><font face="Courier New">参数<br />folder<br />标识系统特殊文件夹的枚举常数。 <br /><br />返回值<br />如果指定系统的特殊文件夹实际存在于您的计算机上，则为到该文件夹的路径；否则为空字符串 (&quot;&quot;)。 如果系统未创建文件夹、已删除现有文件夹，或者文件夹是不对应物理路径的虚拟目录（例如&ldquo;我的电脑&rdquo;），则该文件夹不会实际存在。 </font></p><p>主要用到的相关内容是：<br />Environment.GetFolderPath 方法 <br />Environment.SpecialFolder 枚举 </p><p>枚举包括了很多成员，具体的请参阅MSDN中的相关项。</p><p>Environment.GetFolderPath(Environment.SpecialFolder.Favorites)；&nbsp; //获取用作用户收藏夹项的公共储存库的目录。</p><p>Environment.GetFolderPath(Environment.SpecialFolder.History)；&nbsp; //获取用作 Internet 历史记录项的公共储存库的目录。 </p><p>Environment.GetFolderPath(Environment.SpecialFolder.Startup)；&nbsp; //获取对应于用户的&ldquo;启动&rdquo;程序组的目录。&nbsp;</p>]]></description><category>.NET技术</category><comments>http://blog.hnce.net/post/csharp_get_special_folder.html#comment</comments><wfw:comment>http://blog.hnce.net/</wfw:comment><wfw:commentRss>http://blog.hnce.net/feed.asp?cmt=374</wfw:commentRss><trackback:ping>http://blog.hnce.net/cmd.asp?act=tb&amp;id=374&amp;key=510a75a7</trackback:ping></item></channel></rss>
