<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_做回自己</title><subtitle type="text">记录我的所想，所思，所悟，所做，和所感 </subtitle><id>http://feed.cnblogs.com/blog/u/14237/rss</id><updated>2011-12-01T06:56:45Z</updated><author><name>做回自己</name><uri>http://www.cnblogs.com/allanhboy/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/allanhboy/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/14237/rss"/><entry><id>http://www.cnblogs.com/allanhboy/archive/2011/12/01/2270593.html</id><title type="text">C#调用WebBrowser实现网页快照功能</title><summary type="text">由于工作需要根据HTML代码生成静态图片，感谢随 飞 Kai.Ma提供的代码，我在此基础上修改了全屏抓取的BUG和简单实现了根据HTML代码生成快照;//根据网址生成快照SDWebCachewc=newSDWebCache(uri);Bitmapimage=wc.Snap();//根据HTML生成快照SDWebCachewc=newSDWebCache(html);Bitmapimage=wc.Snap();附源代码</summary><published>2011-12-01T06:56:00Z</published><updated>2011-12-01T06:56:00Z</updated><author><name>做回自己</name><uri>http://www.cnblogs.com/allanhboy/</uri></author><link rel="alternate" href="http://www.cnblogs.com/allanhboy/archive/2011/12/01/2270593.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/allanhboy/archive/2011/12/01/2270593.html"/><content type="html">&lt;p&gt;由于工作需要根据HTML代码生成静态图片，感谢&lt;a title="随飞" href="http://chinasf.cnblogs.com/"&gt;随&amp;nbsp; 飞&lt;/a&gt; &lt;a title="Kai.Ma" href="http://www.cnblogs.com/allanhboy/admin/%20http://kaima.cnblogs.com"&gt;Kai.Ma&lt;/a&gt;&amp;nbsp;提供的代码，我在此基础上修改了全屏抓取的BUG和简单实现了根据HTML代码生成快照;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;根据网址生成快照&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;SDWebCache&amp;nbsp;wc&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&amp;nbsp;SDWebCache(uri);&lt;br /&gt;Bitmap&amp;nbsp;image&amp;nbsp;=&amp;nbsp;wc.Snap();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;根据HTML生成快照&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;SDWebCache&amp;nbsp;wc&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&amp;nbsp;SDWebCache(html);&lt;br /&gt;Bitmap&amp;nbsp;image&amp;nbsp;=&amp;nbsp;wc.Snap();&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://files.cnblogs.com/allanhboy/Sodao.Snap.zip"&gt;附源代码&lt;/a&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/allanhboy/aggbug/2270593.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/allanhboy/archive/2011/12/01/2270593.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/allanhboy/archive/2011/11/25/2262561.html</id><title type="text">redis入门系列文章</title><summary type="text">一 redis学习笔记之环境搭建二 redis学习笔记之数据类型三 redis学习笔记之排序四 redis学习笔记之事务五 redis学习笔记之pipeline六 redis学习笔记之发布订阅七 redis学习笔记之持久化八 redis学习笔记之主从复制九 redis学习笔记之虚拟内存</summary><published>2011-11-25T00:35:00Z</published><updated>2011-11-25T00:35:00Z</updated><author><name>做回自己</name><uri>http://www.cnblogs.com/allanhboy/</uri></author><link rel="alternate" href="http://www.cnblogs.com/allanhboy/archive/2011/11/25/2262561.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/allanhboy/archive/2011/11/25/2262561.html"/><content type="html">&lt;div&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl06_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/01/1948751.html" style="color: #6fbc4c; "&gt;一 redis学习笔记之环境搭建&lt;/a&gt;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl05_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/02/1948891.html" style="color: #6fbc4c; "&gt;二 redis学习笔记之数据类型&lt;/a&gt;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl04_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/03/1948970.html" style="color: #6fbc4c; "&gt;三 redis学习笔记之排序&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl03_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/04/1949151.html" style="color: #6fbc4c; "&gt;四 redis学习笔记之事务&lt;/a&gt;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl02_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/05/1949276.html" style="color: #6fbc4c; "&gt;五 redis学习笔记之pipeline&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl01_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/06/1949473.html" style="color: #6fbc4c; "&gt;六 redis学习笔记之发布订阅&lt;/a&gt;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl04_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/07/1949640.html" style="color: #6fbc4c; "&gt;七 redis学习笔记之持久化&lt;/a&gt;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl02_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/07/1949660.html" style="color: #6fbc4c; "&gt;八 redis学习笔记之主从复制&lt;/a&gt;&lt;/div&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;p style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;/p&gt;&lt;div style="color: #4b4b4b; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 12px; line-height: 19px; background-color: #ffffff; "&gt;&lt;a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/xhan/archive/2011/02/07/1949717.html" style="color: #6fbc4c; "&gt;九 redis学习笔记之虚拟内存&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/allanhboy/aggbug/2262561.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/allanhboy/archive/2011/11/25/2262561.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244461.html</id><title type="text">Windows下nginx定时分割日志</title><summary type="text">nginx的日志文件对于想要做ip/pv统计的朋友来说，是非常重要的。以前从来没有在windows下使用过nginx,最近这两天因为业务的需要，在windows环境下使用了nginx做服务器集群，在使用过程中，发现在nginx for windows依旧不支持根据时间分割日志，在linux环境下，一般都过shell脚本来实现这个功能。在网上找一了一下windows下分割nginx日志的方案，居然没有找到合适的，于是自己写了一个简单的批处理以实现这个小功能，现在把代码放到下面，以方便以后朋友们使用。默认日志源文件路径为d:\data1\logs\www.log目的路径为:D:\data1\log</summary><published>2011-11-10T06:48:00Z</published><updated>2011-11-10T06:48:00Z</updated><author><name>做回自己</name><uri>http://www.cnblogs.com/allanhboy/</uri></author><link rel="alternate" href="http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244461.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244461.html"/><content type="html">&lt;div&gt;nginx的日志文件对于想要做ip/pv统计的朋友来说，是非常重要的。以前从来没有在windows下使用过nginx,最近这两天因为业务的需要，在windows环境下使用了nginx做服务器集群，在使用过程中，发现在nginx for windows依旧不支持根据时间分割日志，在linux环境下，一般都过shell脚本来实现这个功能。在网上找一了一下windows下分割nginx日志的方案，居然没有找到合适的，于是自己写了一个简单的批处理以实现这个小功能，现在把代码放到下面，以方便以后朋友们使用。&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;默认日志源文件路径为d:\data1\logs\www.log&lt;/div&gt;&lt;div&gt;目的路径为:D:\data1\logs2\&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;新建一个bat文件，内容如下:&amp;nbsp;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color: #0000ff; "&gt;taskkill&lt;/span&gt;&amp;nbsp;/F&amp;nbsp;/IM&amp;nbsp;nginx.exe&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&amp;nbsp;"&lt;span style="color: #ff0000; "&gt;cmdstr=move&amp;nbsp;D:\data1\logs\www.log&amp;nbsp;D:\data1\logs2\access_ydgdw_211.138.195.36_log.%date:~0,4%-%date:~5,2%-%date:~8,2%.log&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000; "&gt;call&amp;nbsp;%cmdstr%"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;start&lt;/span&gt;&amp;nbsp;nginx&lt;/div&gt;&lt;/div&gt;&lt;div&gt;保存后把这个批处理文件放到nginx根目录下，在windows下添加一个任务计划，每天执行一次即可.该批处理一共做了三件事，先杀掉系统中正在运行的nginx进程，然后备份并根据时间重命名日志文件，最后再启动nginx服务。&lt;/div&gt;&lt;div&gt;经过测试，在windows下面必须在nginx服务停止的情况下才能备份日志，这个有点小小的遗憾，不过一般情况下这个备份过程会在1到2秒内完成，把这个批处理放到每天凌晨两点左右执行，基本不影响nginx提供服务。&lt;/div&gt;&lt;img src="http://www.cnblogs.com/allanhboy/aggbug/2244461.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244461.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244434.html</id><title type="text">SQL SERVER 2005 调用CLR时需要注意的几个问题:</title><summary type="text">SQL SERVER 2005 调用CLR时需要注意的几个问题:1.目标数据库实例需要启用clr集成.如果没启用,可以在 sql server 外围应用配置器 里去启用或者使用以下语句:sp_configure&amp;#39;clrenabled&amp;#39;,1goreconfigurego2.目标数据库的可信任属性需要设为false,可以使用以下语句启用:alterdatabase[dbname]settrustworthyon否则在调用对应的方式时会报错:system.security.securityexception: request for the permission of type &amp;#</summary><published>2011-11-10T06:32:00Z</published><updated>2011-11-10T06:32:00Z</updated><author><name>做回自己</name><uri>http://www.cnblogs.com/allanhboy/</uri></author><link rel="alternate" href="http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244434.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244434.html"/><content type="html">&lt;p&gt;SQL SERVER 2005 调用CLR时需要注意的几个问题:&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div&gt;1.目标数据库实例需要启用clr集成.&lt;/div&gt;&#xD;
&lt;div&gt;如果没启用,可以在 sql server 外围应用配置器 里去启用或者使用以下语句:&lt;/div&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;sp_configure&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;clr&amp;nbsp;enabled&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;span style="color: #0000FF;"&gt;reconfigure&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;p&gt;2.目标数据库的可信任属性需要设为false,可以使用以下语句启用:&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #0000FF;"&gt;alter&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;database&lt;/span&gt;&amp;nbsp;[dbname]&amp;nbsp;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&amp;nbsp;trustworthy&amp;nbsp;&lt;span style="color: #0000FF;"&gt;on&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;否则在调用对应的方式时会报错:&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div&gt;&lt;span style="color: red; "&gt;system.security.securityexception: request for the permission of type 'system.security.permissions.environmentpermission,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: red; "&gt;mscorlib, version=2.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089' failed.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;3.确保部署程序集时所使用的账号是目标数据库的所有者,如不是可以使用以下语句:&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #0000FF;"&gt;exec&lt;/span&gt;&amp;nbsp;sp_changedbowner&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;login_name&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;否则部署时会报错:&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: red; "&gt;针对程序集 'xxx' 的 create assembly 失败，因为程序集 'xxx' 未获授权(permission_set = unsafe)。 当符合以下两个条件之一时，将&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: red; "&gt;对程序集授权: 数据库所有者(dbo)具有 unsafe assembly 权限，而且数据库的 trustworthy 属性处于打开状态；或者，程序集签名时所使&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: red; "&gt;用的证书或非对称密钥所对应的登录名具有 unsafe assembly 权限。&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;当然部署账号需要有创建程序集的权限.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;4.程序集的权限级别必须设为 external access,否则在部署的时候会报错:&lt;/div&gt;&lt;div&gt;&lt;span style="color: red; "&gt;system.security.securityexception: request for the permission of type 'system.security.permissions.environmentpermission,&amp;nbsp;&lt;/span&gt;&lt;span style="color: red; "&gt;mscorlib, version=2.0.0.0,culture=neutral, publickeytoken=b77a5c561934e089' failed.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;5.在项目里增加名为predeployscript.sql和postdeployscript.sql的文件,predeployscript.sql文件里包含以下语句:&lt;/div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;exists&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #0000FF;"&gt;select&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;from&lt;/span&gt;&amp;nbsp;sys.assemblies&amp;nbsp;&lt;span style="color: #0000FF;"&gt;where&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;n&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;xxx.xmlserializers&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;drop&lt;/span&gt;&amp;nbsp;assembly&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;xxx.xmlserializers&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;postdeployscript.sql文件包含以下语句:&lt;/p&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;create&lt;/span&gt;&amp;nbsp;assembly&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;xxx.xmlserializers&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;from&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;e:\xxx.xmlserializers.dll&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;with&lt;/span&gt;&amp;nbsp;permission_set&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;safe&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;项目编译成功后,在预生成命令行中加入以下语句:&lt;/div&gt;&lt;div&gt;"d:\program files\microsoft visual studio 8\sdk\v2.0\bin\sgen.exe" /force "$(targetpath)"然后重新编译发布,否则在调用对应的方式时会报错:&lt;span style="color: red; "&gt;system.invalidoperationexception: cannot load dynamically generated serialization assembly. in some hosting environments&amp;nbsp;assembly load functionality is restricted, consider using pre-generated serializer. please see inner exception for more&amp;nbsp;information. ---&amp;gt; system.io.fileloadexception: loadfrom()、loadfile()、load(byte[]) 和 loadmodule() 已被主机禁用。&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;如果还不行就按如下步骤解决：&lt;/div&gt;&lt;div&gt;第一步：&lt;/div&gt;&lt;div&gt;在项目属性中选择&amp;#8220;生成事件&amp;#8221;选项。然后在&amp;#8220;生成后事件命令行&amp;#8221;中添加 "D:\Program Files\Microsoft Visual Studio 9.0\SDK\v3.5\Bin\sgen.exe" /force "$(TargetPath)" 命令。调用&amp;#8220;sgen.exe&amp;#8221;生成序列化程序集，&amp;#8220;sgen.exe&amp;#8221;文件的位置根据安装的Visual&amp;nbsp;Studio决定。"$(TargetPath)"变量为项目编译后的DLL文件所在路径。在&amp;#8220;数据库&amp;#8221;选项中的权限级别设置为&amp;#8220;不安全&amp;#8221;，为了能够访问网络资源。&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;第二步：&lt;/div&gt;&lt;div&gt;在项目文件夹中创建Predeployscript.sql 和 Postdeployscript.sql两个文件。然后在项目菜单中添加现有项，把这两个脚本文件添加到项&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;目中。&lt;/div&gt;&lt;div&gt;第三步：&lt;/div&gt;&lt;div&gt;将下面的 TRANSACT-SQL 语句添加到 Predeployscript.sql 文件：&lt;/div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;IF&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;EXISTS&lt;/span&gt;(&lt;span style="color: #0000FF;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;NAME&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;SYS.ASSEMBLIES&amp;nbsp;&lt;span style="color: #0000FF;"&gt;WHERE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;NAME&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;N&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;GEPSCallWebServiceTrigger.XmlSerializers&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;DROP&lt;/span&gt;&amp;nbsp;ASSEMBLY&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;GEPSCallWebServiceTrigger.XmlSerializers&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;第四步：&lt;/div&gt;&lt;div&gt;将下面的TRANSACT-SQL 语句添加到Postdeployscript.sql文件：&lt;/div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;CREATE&lt;/span&gt;&amp;nbsp;ASSEMBLY&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;GEPSCallWebServiceTrigger.XmlSerializers&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;AUTHORIZATION&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;dbo&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;D:\Tmp\CRLTriger\GEPSCallWebServiceTrigger\GEPSCallWebServiceTrigger\bin\Debug\GEPSCallWebServiceTrigger.XmlSerializers.dll&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;WITH&lt;/span&gt;&amp;nbsp;PERMISSION_SET&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;UNSAFE&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;第五步：&lt;/div&gt;&lt;div&gt;有的时候做完以上几步还是不成功的，因为你的sql没有开启CLR集程，我们要运行以下T-sql代码才可以&lt;/div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;数据库名&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;exec&lt;/span&gt;&amp;nbsp;sp_configure&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;clr&amp;nbsp;enabled&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;exec&lt;/span&gt;&amp;nbsp;sp_configure&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;clr&amp;nbsp;enabled&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;,&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;开启SQLServer的CLR集程。&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;reconfigure&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;with&lt;/span&gt;&amp;nbsp;override&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;EXEC&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sp_changedbowner&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;[用户名]&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;确保部署程序集时所使用的账号是目标数据库的所有者&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;Alter&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;Database&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;数据库名&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;TRUSTWORTHY&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;目标数据库的可信任属性需要设为FALSE&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/allanhboy/aggbug/2244434.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/allanhboy/archive/2011/11/10/2244434.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/allanhboy/archive/2005/09/30/247063.html</id><title type="text">C#修饰符</title><summary type="text"/><published>2005-09-30T00:22:00Z</published><updated>2005-09-30T00:22:00Z</updated><author><name>做回自己</name><uri>http://www.cnblogs.com/allanhboy/</uri></author><link rel="alternate" href="http://www.cnblogs.com/allanhboy/archive/2005/09/30/247063.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/allanhboy/archive/2005/09/30/247063.html"/></entry></feed>
