<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_海洋之心@OCEAN'S HEART</title><subtitle type="text">男儿应该带吴勾，收取关山五十州。</subtitle><id>http://feed.cnblogs.com/blog/u/6607/rss</id><updated>2012-01-07T02:55:47Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/6607/rss"/><entry><id>http://www.cnblogs.com/ocean2000/archive/2011/11/13/postgresql.html</id><title type="text">（转载）postgresql无法远程登录（设置远程登陆的三点注意事项）</title><summary type="text">postgresql远程登录设置</summary><published>2011-11-13T04:05:00Z</published><updated>2011-11-13T04:05:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2011/11/13/postgresql.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2011/11/13/postgresql.html"/><content type="html">&lt;p&gt;设置远程登陆的三点注意事项&amp;nbsp;&lt;br /&gt;看完下文我恍然知道，原来是我的windows防火墙没有关闭开启着却没有添加那个例外，导致之前在配置文件中配置的总是不生效。&amp;nbsp;&lt;br /&gt;也就是说要修改三处地方！！！&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="quote_title"&gt;引用&lt;/div&gt;&lt;div class="quote_div"&gt;&lt;br /&gt;由于postgresql没有正确设置允许的IP导致的，在&amp;nbsp;&lt;br /&gt;&lt;br /&gt;A机器安装PostgreSQL，默认端口5432&amp;nbsp;&amp;nbsp;&lt;br /&gt;想实现B机器通过远程连接A机器的PostgreSQL服务。&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span&gt;&amp;nbsp; 1.如果A机器启动Windows防火墙，则在&amp;ldquo;例外&amp;rdquo;中&amp;ldquo;添加端口&amp;rdquo;加上5432端口。&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span&gt;2.在postgresql.conf中的修改&amp;nbsp;&amp;nbsp;&lt;br /&gt;listen_addresses = '*'&amp;nbsp;&amp;nbsp;&lt;br /&gt;port = 5432&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span&gt;3.在pg_hba.conf中添加&amp;nbsp;&amp;nbsp;&lt;br /&gt;host all all 192.168.1.2/32 trust&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="quote_div"&gt;在B机器上用phpPgAdmin试试连接A机器192.168.1.1&lt;/div&gt;&lt;div class="quote_div"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="quote_div"&gt;注意：该配置文件在系统分区\postgresql\版本号\data\目录下，同时附加配置内容&lt;/div&gt;&lt;div class="quote_div"&gt;&lt;p&gt;# PostgreSQL Client Authentication Configuration File&lt;br /&gt;# ===================================================&lt;br /&gt;#&lt;br /&gt;# Refer to the "Client Authentication" section in the PostgreSQL&lt;br /&gt;# documentation for a complete description of this file. A short&lt;br /&gt;# synopsis follows.&lt;br /&gt;#&lt;br /&gt;# This file controls: which hosts are allowed to connect, how clients&lt;br /&gt;# are authenticated, which PostgreSQL user names they can use, which&lt;br /&gt;# databases they can access. Records take one of these forms:&lt;br /&gt;#&lt;br /&gt;# local DATABASE USER METHOD [OPTIONS]&lt;br /&gt;# host DATABASE USER CIDR-ADDRESS METHOD [OPTIONS]&lt;br /&gt;# hostssl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS]&lt;br /&gt;# hostnossl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS]&lt;br /&gt;#&lt;br /&gt;# (The uppercase items must be replaced by actual values.)&lt;br /&gt;#&lt;br /&gt;# The first field is the connection type: "local" is a Unix-domain&lt;br /&gt;# socket, "host" is either a plain or SSL-encrypted TCP/IP socket,&lt;br /&gt;# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a&lt;br /&gt;# plain TCP/IP socket.&lt;br /&gt;#&lt;br /&gt;# DATABASE can be "all", "sameuser", "samerole", "replication", a&lt;br /&gt;# database name, or a comma-separated list thereof.&lt;br /&gt;#&lt;br /&gt;# USER can be "all", a user name, a group name prefixed with "+", or a&lt;br /&gt;# comma-separated list thereof. In both the DATABASE and USER fields&lt;br /&gt;# you can also write a file name prefixed with "@" to include names&lt;br /&gt;# from a separate file.&lt;br /&gt;#&lt;br /&gt;# CIDR-ADDRESS specifies the set of hosts the record matches. It is&lt;br /&gt;# made up of an IP address and a CIDR mask that is an integer (between&lt;br /&gt;# 0 and 32 (IPv4) or 128 (IPv6) inclusive) that specifies the number&lt;br /&gt;# of significant bits in the mask. Alternatively, you can write an IP&lt;br /&gt;# address and netmask in separate columns to specify the set of hosts.&lt;br /&gt;# Instead of a CIDR-address, you can write "samehost" to match any of&lt;br /&gt;# the server's own IP addresses, or "samenet" to match any address in&lt;br /&gt;# any subnet that the server is directly connected to.&lt;br /&gt;#&lt;br /&gt;# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",&lt;br /&gt;# "krb5", "ident", "pam", "ldap", "radius" or "cert". Note that&lt;br /&gt;# "password" sends passwords in clear text; "md5" is preferred since&lt;br /&gt;# it sends encrypted passwords.&lt;br /&gt;#&lt;br /&gt;# OPTIONS are a set of options for the authentication in the format&lt;br /&gt;# NAME=VALUE. The available options depend on the different&lt;br /&gt;# authentication methods -- refer to the "Client Authentication"&lt;br /&gt;# section in the documentation for a list of which options are&lt;br /&gt;# available for which authentication methods.&lt;br /&gt;#&lt;br /&gt;# Database and user names containing spaces, commas, quotes and other&lt;br /&gt;# special characters must be quoted. Quoting one of the keywords&lt;br /&gt;# "all", "sameuser", "samerole" or "replication" makes the name lose&lt;br /&gt;# its special character, and just match a database or username with&lt;br /&gt;# that name.&lt;br /&gt;#&lt;br /&gt;# This file is read on server startup and when the postmaster receives&lt;br /&gt;# a SIGHUP signal. If you edit the file on a running system, you have&lt;br /&gt;# to SIGHUP the postmaster for the changes to take effect. You can&lt;br /&gt;# use "pg_ctl reload" to do that.&lt;/p&gt;&lt;p&gt;# Put your actual configuration here&lt;br /&gt;# ----------------------------------&lt;br /&gt;#&lt;br /&gt;# If you want to allow non-local connections, you need to add more&lt;br /&gt;# "host" records. In that case you will also need to make PostgreSQL&lt;br /&gt;# listen on a non-local interface via the listen_addresses&lt;br /&gt;# configuration parameter, or via the -i or -h command line switches.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;# TYPE DATABASE USER CIDR-ADDRESS METHOD&lt;/p&gt;&lt;p&gt;# IPv4 local connections:&lt;br /&gt;host all all 127.0.0.1/32 md5&lt;br /&gt;# IPv6 local connections:&lt;br /&gt;host all all ::1/128 md5&lt;br /&gt;host all all 192.168.1.106/32 trust&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ocean2000/aggbug/2247135.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ocean2000/archive/2011/11/13/postgresql.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2010/10/26/DevExpress.html</id><title type="text">(.Net,DevExpress)关于devexpress部分aspx控件需要注意的细节_持续补充ing</title><summary type="text">本文是近一段时间使用DevExpress控件的使用心得，希望对访问者有帮助。如有转载请注明来源。</summary><published>2010-10-26T03:05:00Z</published><updated>2010-10-26T03:05:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2010/10/26/DevExpress.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2010/10/26/DevExpress.html"/><content type="html">&lt;p&gt;1 TimeEdit控件的高度受其所在html容器（且具有冒泡原则）的css属性Line-height的控制，即使设定该控件的高度也不起作用，开始我以为是因为字体大小影响其高度，经验证与字体大小无关。&lt;/p&gt;&lt;p&gt;2 NavBar的ClientIDMode属性影响其子Group的客户端控制，通过官方例子可以看到aspx页签中的代码并没有设定ClientIDMode，应该是使用默认值即AutoID。当我看到起js代码中通过ClientInstanceName来定位控件，我自作聪明的设置ClientIDMode为Static，运行后发现不仅js无法对其navbar中的group进行控制，就连其一些界面特效都没有了。&lt;/p&gt;&lt;p&gt;3 gridview当设置使用popeditform的模式的时候，且里面有容器控件（比如tabcontrol或者gridview），则需要在gridview控件的HtmlEditFormCreated事件中先findtemplatecontrol容器控件，然后利用容器控件的findcontrol方法来定位子控件。 （2010.11.15更新）&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14.4px;"&gt;4 TimeEdit控件初始化应该使用DateTime值，并且之前设置其显示模式（2010.11.28更新）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;5 iframe控件默认会在显示的时候顶部留下部分空白，通过设置其marginheight可以调整顶部空白的高度&lt;span style="font-size: 14.4px;"&gt;（2010.11.28更新）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;6 WebChart控件中用constantlines表示基准线，可以定义多条不同颜色，不同类型线段，并且还可以定义起标题（2010.12.7更新）&amp;nbsp;&lt;/p&gt;&lt;p&gt;7 aspxgridview控件如果要和exporter配合使用，则必须注意调用exporter是需要postback的，因此后台pageload中需要重新绑定一次grid。（2011.1.7更新）&lt;/p&gt;&lt;p&gt;8 gridviewexporter可以利用其&lt;span style="font-size: 16.8px;"&gt;RenderBrick事件来自定义显示内容，比如由于导出成csv或excel时候如果不对数值字段进行处理，默认情况下对于较大数字会以科学计数法来显示，此时就可以利用该事件将单元格的内容和前缀&amp;ldquo;\t"进行拼接&lt;/span&gt;&lt;span style="font-size: 16.8px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 19.2px;"&gt;（2011.1.7更新）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 19.2px;"&gt;9 自定义report文件，可以利用实例化report的时候赋值给其Name属性从而动态改变其保存文件的名称（2011.4.13更新）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 19.2px;"&gt;10 reporttoolbar通过设置该控件的clientinstancename后，利用空间的客户端方法getSaveFormat可以得到当前的保存文件格式。（2011.4.19更新）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 19.2px;"&gt;11 reporttoolbar已经对其默认子控件的行为作了预定义,比如postback,通过简单的e.processonserver的属性设置或者return，甚至cancelbubble进行设置都没办法阻止postback的进行，因此对于较为特殊的自定义行为，最好还是建立自定义按钮，通过客户端的itemclick来自定义客户端行为，进而影响服务端代码运行。（2011.4.21更新)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 19.2px;"&gt;12 treeview控件的数据绑定（手动）需要放在ifpostback判断外面（2011.11.7更新）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 19.2px;"&gt;13 gridview出现"drag a column here"想要去掉的话在settingsText中的emptyheaders中打个空格即可&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 19.2px;"&gt;14 gridview中的customcolumndisplaytext事件为对应于普通gridview（微软）中的rowdatabound事件。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14.4px;"&gt;如需转载，请务必注明来源。&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/ocean2000/aggbug/1861282.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ocean2000/archive/2010/10/26/DevExpress.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2010/09/19/1830827.html</id><title type="text">(.Net,DevExpress)devexpress源码编译需要注意的地方</title><summary type="text">1 建议最好用官方的编译脚本来编译，因为靠自己一个一个加入工程然后按照一定的顺序的话会把人烦死。官方脚本10.1有个通用的脚本库，反正我从1.3到1.6版本都是用他来编译的（google搜索得到）。2 签名时自己生成，也就是用visual studio自带的sn.exe工具来生成，不需要加啥参数，按照编译指南即可。3 define那个脚本文件是需要更改几个地方的：1 针对当前开发使用的工具比如vs2010等 2 vs工具程序所在路径（基路径）这个一般是和你的系统相关，比如我的是win7 32位系统，根本就不是上面所写的带有“（x86）”的文件夹（该文件夹是64位系统为32位软件来存放的）4 将</summary><published>2010-09-19T02:58:00Z</published><updated>2010-09-19T02:58:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2010/09/19/1830827.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2010/09/19/1830827.html"/><content type="html">&lt;p&gt;1 建议最好用官方的编译脚本来编译，因为靠自己一个一个加入工程然后按照一定的顺序的话会把人烦死。官方脚本10.1有个通用的脚本库，反正我从1.3到1.6版本都是用他来编译的（google搜索得到）。&lt;/p&gt;&lt;p&gt;2 签名时自己生成，也就是用visual studio自带的sn.exe工具来生成，不需要加啥参数，按照编译指南即可。&lt;/p&gt;&lt;p&gt;3 define那个脚本文件是需要更改几个地方的：1 针对当前开发使用的工具比如vs2010等 2 vs工具程序所在路径（基路径）这个一般是和你的系统相关，比如我的是win7 32位系统，根本就不是上面所写的带有&amp;ldquo;（x86）&amp;rdquo;的文件夹（该文件夹是64位系统为32位软件来存放的）&lt;/p&gt;&lt;p&gt;4 将build那个主脚本中关于编译compact的那三个工程可以注释掉，因为假如你不用嵌入式开发的话就不需要编译，另外4.0的framework并没有带compact framework，以致无法编译通过。&lt;/p&gt;&lt;p&gt;5 其他的一些细节我觉得大多数程序员都能自行搞定，也就不赘述了，以上的我觉得是容易被人忽略的。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/ocean2000/aggbug/1830827.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ocean2000/archive/2010/09/19/1830827.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2010/08/10/1796197.html</id><title type="text">(Silverlight,WCF,Socket,Cocurrency)一周浏览碰到不错的文章</title><summary type="text">1Silverlight应用MVVM模式来做datagrid的应用实例2vs2010中使用c++来解决4.0中新增的并发任务及相关数据类型3WCF服务开发的技巧4C#进行socket开发</summary><published>2010-08-10T00:32:00Z</published><updated>2010-08-10T00:32:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2010/08/10/1796197.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2010/08/10/1796197.html"/><content type="html">&lt;p&gt;1&amp;nbsp;&lt;a href="http://www.codeproject.com/KB/silverlight/RIADataGrid.aspx" title="Silverlight应用MVVM模式来做datagrid的应用实例"&gt;Silverlight应用MVVM模式来做datagrid的应用实例&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2&amp;nbsp;&lt;a href="http://www.codeproject.com/KB/cpp/parallelcpp.aspx" title="vs2010中使用c++来解决4.0中新增的并发任务及相关数据类型"&gt;vs2010中使用c++来解决4.0中新增的并发任务及相关数据类型&lt;/a&gt;&lt;/p&gt;&lt;p&gt;3&amp;nbsp;&lt;a href="http://www.codeproject.com/KB/WCF/HighSpeedWCF.aspx" title="WCF服务开发的技巧"&gt;WCF服务开发的技巧&lt;/a&gt;&lt;/p&gt;&lt;p&gt;4&lt;a href="http://www.codeproject.com/KB/cs/socketasynceventargs.aspx" title="C#进行socket开发"&gt;C#进行socket开发&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/ocean2000/aggbug/1796197.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ocean2000/archive/2010/08/10/1796197.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2010/04/21/1717323.html</id><title type="text">（SqlServer）转一篇用于数据库误删除用户问题的解决办法</title><summary type="text">SqlServer孤立用户解决——"因为该用户存在对象，所以不能删除该用户。”2008-11-12 23:41最近遇到几次，还原数据库后 新建一个登陆用户，为此登陆用户授权访问此数据库时提示“用户已存在”。原因很明显，还原的数据库中存在此用户，但此用户与刚新增的登陆用户（同名）并没关联起来，想删除数据库中相应用户，却删除不了——"因为该用户存在对象，所以不能删除该用户。”比较郁闷。。。立即网上查了查，原来，这种用户叫孤立用户，且看资料如下：********************************************************************</summary><published>2010-04-21T08:11:00Z</published><updated>2010-04-21T08:11:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2010/04/21/1717323.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2010/04/21/1717323.html"/><content type="text">SqlServer孤立用户解决——"因为该用户存在对象，所以不能删除该用户。”2008-11-12 23:41最近遇到几次，还原数据库后 新建一个登陆用户，为此登陆用户授权访问此数据库时提示“用户已存在”。原因很明显，还原的数据库中存在此用户，但此用户与刚新增的登陆用户（同名）并没关联起来，想删除数据库中相应用户，却删除不了——"因为该用户存在对象，所以不能删除该用户。”比较郁闷。。。立即网上查了查，原来，这种用户叫孤立用户，且看资料如下：********************************************************************</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2010/04/04/1704200.html</id><title type="text">(C#,com)外部dll方法中的指针中的指针该如何处理？</title><summary type="text">网上有部分文章的解决办法是利用extern关键字引用该方法，然后利用unsafecode特性来利用c++样的代码操作，如果是这样使用dll中少数几个方法还好，加入还会用到dll中的事件或者很多方法该怎么办，特别是使用com组件！ 所幸dotnet为我们提供了marshal这个类，并提供了一系列方法来给我们使用，我们可以先引用com组件（注册com组件，然后在引用的时候选择com组件页签），然后利用marshal类的方法来进行进一步操作。 比如当前com组件提供了一个GetStructA(int id,[out] StructA** strcutA)的方法，在我们引用该组件后，vs会自动将该方.</summary><published>2010-04-04T07:39:00Z</published><updated>2010-04-04T07:39:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2010/04/04/1704200.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2010/04/04/1704200.html"/><content type="text">网上有部分文章的解决办法是利用extern关键字引用该方法，然后利用unsafecode特性来利用c++样的代码操作，如果是这样使用dll中少数几个方法还好，加入还会用到dll中的事件或者很多方法该怎么办，特别是使用com组件！ 所幸dotnet为我们提供了marshal这个类，并提供了一系列方法来给我们使用，我们可以先引用com组件（注册com组件，然后在引用的时候选择com组件页签），然后利用marshal类的方法来进行进一步操作。 比如当前com组件提供了一个GetStructA(int id,[out] StructA** strcutA)的方法，在我们引用该组件后，vs会自动将该方.</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2010/02/01/1661005.html</id><title type="text">(C#,COM)调用某com组件报实现类无法强制转换成接口的的问题</title><summary type="text">最近的开发中碰到一个问题，当我将调用com组件的方法放到了threadpool后，总是报无法强制转换接口的问题，遍查中外网站，貌似解决方法都不适用，最后我将其调用放到了主界面所在线程后，就没出现过这个问题。</summary><published>2010-02-01T06:28:00Z</published><updated>2010-02-01T06:28:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2010/02/01/1661005.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2010/02/01/1661005.html"/><content type="text">最近的开发中碰到一个问题，当我将调用com组件的方法放到了threadpool后，总是报无法强制转换接口的问题，遍查中外网站，貌似解决方法都不适用，最后我将其调用放到了主界面所在线程后，就没出现过这个问题。</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2009/12/19/1627930.html</id><title type="text">(COM,IL)Net环境下引入com组件会用到的文章</title><summary type="text">Marshaling Classes, Structures, and UnionsMarshaling StringsPlatform Invoke Data Types Marshaling Data with Platform InvokeHow To Interoperate with a COM Server That Returns Conformant Arrays by Using Visual C# .NETEditing An Interop AssemblyHow to marshal structure containing variable length arrayH</summary><published>2009-12-19T13:17:00Z</published><updated>2009-12-19T13:17:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2009/12/19/1627930.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2009/12/19/1627930.html"/><content type="text">Marshaling Classes, Structures, and UnionsMarshaling StringsPlatform Invoke Data Types Marshaling Data with Platform InvokeHow To Interoperate with a COM Server That Returns Conformant Arrays by Using Visual C# .NETEditing An Interop AssemblyHow to marshal structure containing variable length arrayH</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2009/12/15/1624744.html</id><title type="text">（Linux）ubuntu的困惑</title><summary type="text">声明：以下言论有些是自己的猜测并没有经过证实!上周末以为可以偷个懒好好休息下，为了接下来越来越忙碌的开发做好身体准备，一直想装上Linux系统玩玩，可是一直都没有充分的时间来做，所以这个周末就准备装个最新版本的Ubuntu9.10玩玩，于是黑暗的周末开始降临。1 备份和分区长久以来习惯了windows的安装，由此对于Linux下的分区感到困惑，装个系统还要弄两个分区为其留着（根分区和交换空间），由于自身工作不可能就装个Linux玩，因此想安装成双系统，但是网上很多人都表示双系统风险大，一旦安装出现问题，想恢复成window单启动就可能需要重新修复mbr，但是失败的几率有点大，这样也许就会需要低</summary><published>2009-12-15T05:58:00Z</published><updated>2009-12-15T05:58:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2009/12/15/1624744.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2009/12/15/1624744.html"/><content type="text">声明：以下言论有些是自己的猜测并没有经过证实!上周末以为可以偷个懒好好休息下，为了接下来越来越忙碌的开发做好身体准备，一直想装上Linux系统玩玩，可是一直都没有充分的时间来做，所以这个周末就准备装个最新版本的Ubuntu9.10玩玩，于是黑暗的周末开始降临。1 备份和分区长久以来习惯了windows的安装，由此对于Linux下的分区感到困惑，装个系统还要弄两个分区为其留着（根分区和交换空间），由于自身工作不可能就装个Linux玩，因此想安装成双系统，但是网上很多人都表示双系统风险大，一旦安装出现问题，想恢复成window单启动就可能需要重新修复mbr，但是失败的几率有点大，这样也许就会需要低</content></entry><entry><id>http://www.cnblogs.com/ocean2000/archive/2009/11/10/1599856.html</id><title type="text">(WCF)WCF开发需要注意的地方</title><summary type="text">前言：有空就看frankxu的wcf文章，不过看的并不太仔细，只是记住重要的知识点而已，其中的应用得在做程序时才会发现问题。今天在尝试使用例子程序的时候发现，怎么客户端找不到所谓的服务了？关闭防火墙后仍然报错，开始以为是IIS服务没启动的缘故，启动IIS后仍然是一样的错误（远程服务器积极拒绝），搜索了下网络发现首先要启动宿主程序才行，然后在客户端查找服务并引用，照做后报badrequest错误，最后把地址写成baseaddress（开始的时候我直接将服务终结点的address&lt;带有服务名&gt;来搜索）才找到服务并正常使用。总结下自己在使用的时候犯了以上错误：1 例子程序中的服务并不是w</summary><published>2009-11-10T06:08:00Z</published><updated>2009-11-10T06:08:00Z</updated><author><name>From Ocean</name><uri>http://www.cnblogs.com/ocean2000/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ocean2000/archive/2009/11/10/1599856.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ocean2000/archive/2009/11/10/1599856.html"/><content type="text">前言：有空就看frankxu的wcf文章，不过看的并不太仔细，只是记住重要的知识点而已，其中的应用得在做程序时才会发现问题。今天在尝试使用例子程序的时候发现，怎么客户端找不到所谓的服务了？关闭防火墙后仍然报错，开始以为是IIS服务没启动的缘故，启动IIS后仍然是一样的错误（远程服务器积极拒绝），搜索了下网络发现首先要启动宿主程序才行，然后在客户端查找服务并引用，照做后报badrequest错误，最后把地址写成baseaddress（开始的时候我直接将服务终结点的address&lt;带有服务名&gt;来搜索）才找到服务并正常使用。总结下自己在使用的时候犯了以上错误：1 例子程序中的服务并不是w</content></entry></feed>
