<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Always Learning</title><subtitle type="text">Attitude is everything! </subtitle><id>http://feed.cnblogs.com/blog/u/47924/rss</id><updated>2011-12-01T11:09:53Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/47924/rss"/><entry><id>http://www.cnblogs.com/cfanseal/archive/2010/08/07/1794733.html</id><title type="text">.NET 项目SVN 全局排除设置</title><summary type="text">最近在开发.net项目时项目组完全抛弃了之前的VSS，开始全面使用SVN管理版本。虽然SVN非常不错，但是也给项目组带来了一些不小的麻烦。麻烦就是一些VS自动生成的二进制文件夹以及一些如*.suo *.user等二进制文件经常引起冲突。bin和obj内的dll文件往往是调试时产生的，这些文件如果进入版本库，那简直就是灾难，特别是一个solution下面有多个工程的时候。 网上有说，对整个解决方案目...</summary><published>2010-08-07T07:23:00Z</published><updated>2010-08-07T07:23:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2010/08/07/1794733.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2010/08/07/1794733.html"/><content type="html">&lt;p&gt;最近在开发.net项目时项目组完全抛弃了之前的VSS，开始全面使用SVN管理版本。虽然SVN非常不错，但是也给项目组带来了一些不小的麻烦。麻烦就是一些VS自动生成的二进制文件夹以及一些如*.suo *.user等二进制文件经常引起冲突。bin和obj内的dll文件往往是调试时产生的，这些文件如果进入版本库，那简直就是灾难，特别是一个solution下面有多个工程的时候。    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 网上有说，对整个解决方案目录设置属性，排除这些文件，不过我发现正常使用还不错，但一打分支然后再切回来时，这些设置就丢失了，面对7、8个人的团队，版本冲突解决是件痛苦的事情。     &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 终于我发现了，原来全局排除可以快速解决这个问题，在TortoiseSVN中点击General，然后在Global ignore pattern中设置我们项目中不想进入版本库的文件或文件夹以空格分开即可，如我们组最讨厌以下目录：*.suo Bin log4net Obj obj bin *.user ，那么就设置如下图。之后点击&amp;#8220;应用&amp;#8221;，我们又一次感受到生活的美好了。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/cfanseal/WindowsLiveWriter/b01a3a04df96.NETSVN_D61C/image_2.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://images.cnblogs.com/cnblogs_com/cfanseal/WindowsLiveWriter/b01a3a04df96.NETSVN_D61C/image_thumb.png" border="0" height="423" width="688" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/cfanseal/aggbug/1794733.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cfanseal/archive/2010/08/07/1794733.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2010/06/18/1760638.html</id><title type="text">ASP.Net MVC 实践杂记</title><summary type="text">&amp;#160;&amp;#160;&amp;#160;&amp;#160; 最近好忙，连续加班好几周了。虽然辛苦，但却颇有收获，最大的收获是新项目用了ASP.NET&amp;#160; MVC。要说的是ASP.Net Mvc 还真好。等项目忙好了，我计划针对项目中学到的技术点做个总结，写一些小例子以便日后可以用。  &amp;#160;&amp;#160;&amp;#160;&amp;#160; ASP.Net MVC 给我最大的印象是清晰，在写代码时不再有传统...</summary><published>2010-06-18T15:17:00Z</published><updated>2010-06-18T15:17:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2010/06/18/1760638.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2010/06/18/1760638.html"/><content type="html">&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 最近好忙，连续加班好几周了。虽然辛苦，但却颇有收获，最大的收获是新项目用了ASP.NET&amp;#160; MVC。要说的是ASP.Net Mvc 还真好。等项目忙好了，我计划针对项目中学到的技术点做个总结，写一些小例子以便日后可以用。&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ASP.Net MVC 给我最大的印象是清晰，在写代码时不再有传统ASP.net 编写时对事件的困惑。一切又回归自然，回归平静。我们开始静下心来看页面的效果如何实现；我们开始关注页面逻辑；我们开始关注URL语义化；我们开始关注如何分层设计；甚至我们成功的将TDD与DDD的理念引入我们的开发中。项目进展还算顺利，但日后还有更多的事情要做。&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 项目的范围还算可以，这次要做的国际化网站，且是基于SOA的。谈到开头说的总结，我想应该从以下几点开始：&lt;/p&gt;  &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;   &lt;p&gt;1、Oracle Session Provider，这是节省团队时间的好办法，Session是要用的，在多台服务器部署的情况下就得考虑Session 同步问题。&lt;/p&gt;    &lt;p&gt;2、ModelBinder + Castle components validator 实现多语言模型层校验，最让我激动的是castle验证框架的优良设计，如此多的验证标签以及无敌的validateself，几乎能涵盖所有的后端复杂校验了&lt;/p&gt;    &lt;p&gt;3、ajax+ modelbinder 实现完全基于后端的校验，由于需要支持多语言，验证后的提示信息如何有支持多语言是个大问题。配置多分js文件，噢～！还是算了吧。如此多的语言版本都一次性引入，页面的打开速度将是大问题。没想到jQuery的serialize除了能将整个表单内容序列化外，在服务器端强大的DefaultModelBinder帮助下能将ajax提交的表达直接绑定成我们要的对象。这对表单整体校验实在是作用太大了。&lt;/p&gt;    &lt;p&gt;4、mvc2与mvc1还是有很大不同地方的；Mvc contrib真是一个非常好的类库，但最常用的恐怕还是fluntHtml&lt;/p&gt;    &lt;p&gt;5、Vs2010 Service Reference 自动生成的代码虽然代码中明确runtime是4.0，但实际中.net 3.5环境下运行非常正常。而且在java Integer 生成的代码往往是int?,那么在调用的时候一定要指明xxxIsSpecifed也就不用了。&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://www.cnblogs.com/cfanseal/aggbug/1760638.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cfanseal/archive/2010/06/18/1760638.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2010/03/15/1686292.html</id><title type="text">ADO.NET 数据库访问对象封装</title><summary type="text">ADO.net架构的优良使得，C#操作多数库访问异常方便，我们可以将驱动写在连接字符串里，利用 DbProviderFactory 获取驱动的工厂，示例代码如下/// &amp;lt;summary&amp;gt;/// 数据库操作帮助类，可处理CRUD 操作，和存储过程调用/// &amp;lt;/summary&amp;gt;public class Dbutil{ private DbProviderFactory _fa...</summary><published>2010-03-15T07:44:00Z</published><updated>2010-03-15T07:44:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2010/03/15/1686292.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2010/03/15/1686292.html"/><content type="html">&lt;div&gt;&#xD;
&lt;pre&gt;ADO.net架构的优良使得，C#操作多数库访问异常方便，我们可以将驱动写在连接字符串里，&lt;br /&gt;利用 &lt;span style="color: #2b91af;"&gt;DbProviderFactory 获取驱动的工厂，&lt;span style="color: #000000;"&gt;示例代码如下&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;div style="width: 93.35%; height: 2054px;" &gt;&#xD;
&lt;pre&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;summary&amp;gt;&#xD;
/// &lt;/span&gt;&lt;span style="color: green;"&gt;数据库操作帮助类，可处理CRUD 操作，和存储过程调用&#xD;
&lt;/span&gt;&lt;span style="color: gray;"&gt;/// &amp;lt;/summary&amp;gt;&#xD;
&lt;/span&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Dbutil&#xD;
&lt;/span&gt;{&#xD;
    &lt;span style="color: blue;"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DbProviderFactory &lt;/span&gt;_factory;&#xD;
    &lt;span style="color: blue;"&gt;private string &lt;/span&gt;_connectionString;&#xD;
    &lt;span style="color: blue;"&gt;private string &lt;/span&gt;_connectioinName;&#xD;
&#xD;
    &lt;span style="color: blue;"&gt;public string &lt;/span&gt;ConnectionName&#xD;
    {&#xD;
        &lt;span style="color: blue;"&gt;get &lt;/span&gt;{ &lt;span style="color: blue;"&gt;return &lt;/span&gt;_connectioinName; }&#xD;
        &lt;span style="color: blue;"&gt;set&#xD;
        &lt;/span&gt;{&#xD;
            _connectioinName = &lt;span style="color: blue;"&gt;value&lt;/span&gt;;&#xD;
            _connectionString = &lt;span style="color: #2b91af;"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[&lt;span style="color: blue;"&gt;value&lt;/span&gt;].ConnectionString;&#xD;
            _factory = &lt;span style="color: #2b91af;"&gt;DbProviderFactories&lt;/span&gt;.GetFactory(&lt;span style="color: #2b91af;"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[&lt;span style="color: blue;"&gt;value&lt;/span&gt;].ProviderName);&#xD;
        }&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue;"&gt;public &lt;/span&gt;Dbutil(&lt;span style="color: blue;"&gt;string &lt;/span&gt;connName)&#xD;
    {&#xD;
        ConnectionName = connName;&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataSet &lt;/span&gt;ExecuteDataSet(&lt;span style="color: blue;"&gt;string &lt;/span&gt;sql, &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;DbParameter&lt;/span&gt;&amp;gt; list)&#xD;
    {&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbConnection &lt;/span&gt;conn = _factory.CreateConnection())&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbCommand &lt;/span&gt;cmd = _factory.CreateCommand())&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbDataAdapter &lt;/span&gt;da = _factory.CreateDataAdapter())&#xD;
        {&#xD;
            conn.ConnectionString = _connectionString;&#xD;
            cmd.Connection = conn;&#xD;
            cmd.CommandType = &lt;span style="color: #2b91af;"&gt;CommandType&lt;/span&gt;.Text;&#xD;
            cmd.CommandText = sql;&#xD;
            da.SelectCommand = cmd;&#xD;
&#xD;
            &lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbParameter &lt;/span&gt;i &lt;span style="color: blue;"&gt;in &lt;/span&gt;list)&#xD;
            {&#xD;
                cmd.Parameters.Add(i);&#xD;
            }&#xD;
           &#xD;
            &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DataSet &lt;/span&gt;ds = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;DataSet&lt;/span&gt;())&#xD;
            {&#xD;
                conn.Open();&#xD;
                da.Fill(ds);&#xD;
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;ds;&#xD;
            }&#xD;
        }&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue;"&gt;public int &lt;/span&gt;ExecuteNonQuery(&lt;span style="color: blue;"&gt;string &lt;/span&gt;sql)&#xD;
    {&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbConnection &lt;/span&gt;conn = _factory.CreateConnection())&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbCommand &lt;/span&gt;cmd = _factory.CreateCommand())&#xD;
        {&#xD;
            conn.ConnectionString = _connectionString;&#xD;
            cmd.Connection = conn;&#xD;
            cmd.CommandType = &lt;span style="color: #2b91af;"&gt;CommandType&lt;/span&gt;.Text;&#xD;
            cmd.CommandText = sql;&#xD;
            conn.Open();&#xD;
           &#xD;
            &lt;span style="color: blue;"&gt;return &lt;/span&gt;cmd.ExecuteNonQuery();&#xD;
        }&#xD;
&#xD;
    }&#xD;
&#xD;
&#xD;
    &lt;span style="color: blue;"&gt;public int &lt;/span&gt;ExecuteNonQuery(&lt;span style="color: blue;"&gt;string &lt;/span&gt;sql, &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;DbParameter&lt;/span&gt;&amp;gt; list)&#xD;
    {&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbConnection &lt;/span&gt;conn = _factory.CreateConnection())&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbCommand &lt;/span&gt;cmd = _factory.CreateCommand())&#xD;
        {&#xD;
            conn.ConnectionString = _connectionString;&#xD;
            cmd.Connection = conn;&#xD;
            cmd.CommandType = &lt;span style="color: #2b91af;"&gt;CommandType&lt;/span&gt;.Text;&#xD;
            cmd.CommandText = sql;&#xD;
&#xD;
            &lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbParameter &lt;/span&gt;i &lt;span style="color: blue;"&gt;in &lt;/span&gt;list)&#xD;
            {&#xD;
                cmd.Parameters.Add(i);&#xD;
            }&#xD;
            conn.Open();&#xD;
            &lt;span style="color: blue;"&gt;return &lt;/span&gt;cmd.ExecuteNonQuery();&#xD;
        }&#xD;
&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;object&lt;/span&gt;&amp;gt; ExecuteProcedure(&lt;span style="color: blue;"&gt;string &lt;/span&gt;procedureName, &lt;span style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;DbParameter&lt;/span&gt;&amp;gt; list)&#xD;
    {&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbConnection &lt;/span&gt;conn = _factory.CreateConnection())&#xD;
        &lt;span style="color: blue;"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbCommand &lt;/span&gt;cmd = _factory.CreateCommand())&#xD;
        {&#xD;
            conn.ConnectionString = _connectionString;&#xD;
            cmd.Connection = conn;&#xD;
            cmd.CommandType = &lt;span style="color: #2b91af;"&gt;CommandType&lt;/span&gt;.StoredProcedure;&#xD;
            cmd.CommandText = procedureName;&#xD;
&#xD;
            &lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbParameter &lt;/span&gt;i &lt;span style="color: blue;"&gt;in &lt;/span&gt;list)&#xD;
            {&#xD;
                cmd.Parameters.Add(i);&#xD;
            }&#xD;
            conn.Open();&#xD;
            &lt;span style="color: blue;"&gt;var &lt;/span&gt;res = cmd.ExecuteNonQuery();&#xD;
            &lt;span style="color: blue;"&gt;yield return &lt;/span&gt;res;&#xD;
            &lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;DbParameter &lt;/span&gt;i &lt;span style="color: blue;"&gt;in &lt;/span&gt;list)&#xD;
            {&#xD;
                &lt;span style="color: blue;"&gt;if &lt;/span&gt;(i.Direction == &lt;span style="color: #2b91af;"&gt;ParameterDirection&lt;/span&gt;.Output)&#xD;
                    &lt;span style="color: blue;"&gt;yield return &lt;/span&gt;i.Value;&#xD;
            }&#xD;
&#xD;
        }&#xD;
    }&#xD;
}&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;style type="text/css"&gt;&lt;!--&#xD;
.codearea{ color:black;  background-color:white;  line-height:18px;  border:1px solid #4f81bd;  margin:0;  width:auto !important;  width:100%;  overflow:auto;  text-align:left;  font-size:12px;  font-family: "Courier New","Consolas","Fixedsys","BitStream Vera Sans Mono", courier,monospace,serif}&#xD;
.codearea pre{ color:black; line-height:18px;  padding:0 0 0 12px !important; margin:0em;  background-color:#fff !important}&#xD;
.linewrap pre{white-space:pre-wrap;  white-space:-moz-pre-wrap;  white-space:-pre-wrap;  white-space:-o-pre-wrap;  word-wrap:break-word;  word-break:normal}&#xD;
.codearea pre.alt{ background-color:#f7f7ff !important}&#xD;
.codearea .lnum{color:#4f81bd;line-height:18px}&#xD;
--&gt;&lt;/style&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/cfanseal/aggbug/1686292.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cfanseal/archive/2010/03/15/1686292.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2010/03/14/1685358.html</id><title type="text">C# 调用 WebService 使用 SSL 连接</title><summary type="text">&amp;#160;&amp;#160;&amp;#160;&amp;#160; 以上是调用基于SSL 的WebService 的示例代码，其中ServicePointManager.ServerCertificateValidationCallback… 这段代码 是表示不对服务端证书进行有效性校验（非第三方权威机构颁发的证书，如自己生成的） 。&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((a, b, c, d) =&amp;...</summary><published>2010-03-13T18:45:00Z</published><updated>2010-03-13T18:45:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2010/03/14/1685358.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2010/03/14/1685358.html"/><content type="html">&lt;div &gt;   &lt;pre &gt;&lt;span &gt; 1:  &lt;/span&gt;&lt;span style="color: blue"&gt;public void &lt;/span&gt;SSLLearning()&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre&gt;&lt;span &gt; 2:  &lt;/span&gt;{&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre &gt;&lt;span &gt; 3:  &lt;/span&gt;    &lt;span style="color: #2b91af"&gt;ServicePointManager&lt;/span&gt;.ServerCertificateValidationCallback &lt;/pre&gt;&#xD;
&#xD;
  &lt;pre &gt;= &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;RemoteCertificateValidationCallback&lt;/span&gt;((a, b, c, d) =&amp;gt; { &lt;span style="color: blue"&gt;return true&lt;/span&gt;; });&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre&gt;&lt;span &gt; 4:  &lt;/span&gt;    &lt;font color="#2b91af"&gt;SSLWebService &lt;/font&gt;sws = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;font color="#2b91af"&gt;SSLWebService&lt;/font&gt;();&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre &gt;&lt;span &gt; 5:  &lt;/span&gt;    cws.ClientCertificates.Add(&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre &gt;&lt;span style="color: #2b91af"&gt;X509Certificate&lt;/span&gt;.CreateFromCertFile(&lt;span style="color: #2b91af"&gt;Path&lt;/span&gt;.GetFullPath(&lt;span style="color: #a31515"&gt;@&amp;quot;../../&amp;quot;&lt;/span&gt;) + &lt;span style="color: #a31515"&gt;@&amp;quot;Resources\cerfile.cer&amp;quot;&lt;/span&gt;));&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre&gt;&lt;span &gt; 6:  &lt;/span&gt;    sws.DoSomeThing(“Hello World!”);&lt;/pre&gt;&#xD;
&#xD;
  &lt;pre &gt;&lt;span &gt; 7:  &lt;/span&gt;}&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;style type="text/css"&gt;&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
.codearea{ color:black;  background-color:white;  line-height:18px;  border:1px solid #4f81bd;  margin:0;  width:auto !important;  width:100%;  overflow:auto;  text-align:left;  font-size:12px;  font-family: "Courier New","Consolas","Fixedsys","BitStream Vera Sans Mono", courier,monospace,serif}&#xD;
.codearea pre{ color:black; line-height:18px;  padding:0 0 0 12px !important; margin:0em;  background-color:#fff !important}&#xD;
.linewrap pre{white-space:pre-wrap;  white-space:-moz-pre-wrap;  white-space:-pre-wrap;  white-space:-o-pre-wrap;  word-wrap:break-word;  word-break:normal}&#xD;
.codearea pre.alt{ background-color:#f7f7ff !important}&#xD;
.codearea .lnum{color:#4f81bd;line-height:18px}&lt;/style&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 以上是调用基于SSL 的WebService 的示例代码，其中&lt;span style="color: #2b91af"&gt;ServicePointManager&lt;/span&gt;.ServerCertificateValidationCallback… 这段代码 是表示不对服务端证书进行有效性校验（非第三方权威机构颁发的证书，如自己生成的） 。&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ((a, b, c, d) =&amp;gt; { &lt;span style="color: blue"&gt;return true&lt;/span&gt;; }) 是.Net 3.5的新特性lambda 表达式，这样就不用先写一个函数，再传入函数名给&lt;span style="color: #2b91af"&gt;RemoteCertificateValidationCallback&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Path.GetFullPath()可以传入相对路径，就如示例代码一样。比AppDomain.CurrentDoman.BaseDirectory再过滤字符串方便多啦&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 设置了ClientCertificates后 后续的调用过程就和普通http连接一样啦。唉，虽然调用成功了，不过webservice 在.net 平台似乎是比较古老的技术了，网上搜到的关于webservice的书也只有2003年的了，要加油学习WCF啦！&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;img src="http://www.cnblogs.com/cfanseal/aggbug/1685358.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cfanseal/archive/2010/03/14/1685358.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2009/12/08/1619410.html</id><title type="text">jquery 事件执行检测</title><summary type="text">在写Web 应用，或者Web Ajax功能的时候我们经常需要处理事件，jquery已经非常完美的封装了事件，但是有时候事件的执行顺序还是会有微小差别前两天做城市搜索的时候，我对搜索按钮绑定了事件，如果输入栏内的文字不符合要求就用标签提示（标签展示出来后对document绑定click，点击后隐藏标签）并使输入栏获得焦点。就这样一个小功能我调试了、3个多小时，IE 里表现的是标签一闪而过，后来发现是...</summary><published>2009-12-08T06:48:00Z</published><updated>2009-12-08T06:48:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2009/12/08/1619410.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2009/12/08/1619410.html"/></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2009/12/06/1617995.html</id><title type="text">禁用右键</title><summary type="text">虽然行为不怎么好，但是事件停止的函数可以参考一下代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--&amp;gt;//停止事件冒泡functionstopPropagation(event){vare=event||window.event;if(e.stopPro...</summary><published>2009-12-06T06:59:00Z</published><updated>2009-12-06T06:59:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2009/12/06/1617995.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2009/12/06/1617995.html"/></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2009/11/04/1596012.html</id><title type="text">Visual Stuido 2008 内置 Web Server 虚拟路径问题及解决方案</title><summary type="text">当用visual studio 2008 建立 WEB Site工程后调用某一页面预览会启动vs内置的web server 它会默认使用工程名作为虚拟路径，所以如果访问根目录的test.aspx则实际上会转到如：http://localhost:2319/projectName/test.aspx这样的url上，这样。当页面需要用&amp;#8220;绝对路径&amp;#8221;时，如果是服务器控件可以用路径前...</summary><published>2009-11-04T07:52:00Z</published><updated>2009-11-04T07:52:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2009/11/04/1596012.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2009/11/04/1596012.html"/></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2009/10/08/1579176.html</id><title type="text">Oracle timestamp 类型增加值的问题</title><summary type="text">在工作中我碰到这样一个问题，session表需要用到timestamp的字段，在进行timestamp字段更新时出现了为题，比如需要对session的有效期增加1小时。采用 systimestamp + 1/24 会丢失秒后的精度，感觉增加之后就变成了date型的样子。经过研究发现oracle 有个函数叫NUMTODSINTERVAL ，可以解决这个问题。下面两个例子说明如何使用这个函数增加一小时...</summary><published>2009-10-08T09:29:00Z</published><updated>2009-10-08T09:29:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2009/10/08/1579176.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2009/10/08/1579176.html"/></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2009/09/30/1576972.html</id><title type="text">ASP.Net 类库引用文件路径问题及解决方案</title><summary type="text">.Net 网站项目引用类库时，有时在类库里需要调用文件如xml，此时时文件路径比较难找到，研究了一下，暂时得出以下的解决方案。首先目录安排如下solution |--project | |--xml | | |--test.xml | |--Class1.cs |--web  |--Default.aspx现在web 引用 project项目，在Default.aspx中要申请Class1对象，对...</summary><published>2009-09-30T07:30:00Z</published><updated>2009-09-30T07:30:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2009/09/30/1576972.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2009/09/30/1576972.html"/></entry><entry><id>http://www.cnblogs.com/cfanseal/archive/2009/07/08/1519094.html</id><title type="text">ASP 正则操作函数封装</title><summary type="text">ASP 中也可以用正则表达式，为了方便使用，对正则表达式操作进行了封装，目前只封装了两个：1、正则替换[代码]用法举例：如剔除一个字符串中所有的html标签[代码]2、正则检测[代码]用法举例：检测一个字符串中是否有html字符串[代码]</summary><published>2009-07-08T06:04:00Z</published><updated>2009-07-08T06:04:00Z</updated><author><name>cfanseal</name><uri>http://www.cnblogs.com/cfanseal/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cfanseal/archive/2009/07/08/1519094.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cfanseal/archive/2009/07/08/1519094.html"/></entry></feed>
