摘要:
依据 smtp协议的简单golang 的发邮件实现 协议格式如下 golang 代码实现如下 //email/email.go golang package email import ( "bytes" "encoding/base64" "fmt" "io/ioutil" "net/smtp" " 阅读全文
阅读排行榜
由StreamWriter.WriteLine 引发对C#多线程的深入思考(一)
2011-09-19 14:09 by Shawn.Cheng, 3282 阅读, 收藏,
摘要:
首先,StreamWriter线程安全么?答:StreamWriter 的构造以及StreamWriter.WriteLine(string)都是非线程安全的我们封装两个写日志的方法。底层都是由StreamWriter.writeline来实现.一个加锁,一个不加锁。将加锁的那个命名为safewritelog,另一个命名为unsafeWritelog.然后利用两个循环。不停的分别创建个线程,去写日志。测试看哪个会出现写异常。代码如下:namespace ThreadWriteLog{ class Program { private static object ob =... 阅读全文
由于套接 字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址
2011-04-12 01:09 by Shawn.Cheng, 3022 阅读, 收藏,
摘要:
在学习Socket编程时,总是遇到这个问题,到网上搜了一下,做了一个小小的总结,希望它对你有帮助。 1. 首先在shutdown时,我发现遇到了这个问题,后来在csdn上找到了一些东西 从函数调用上来分析(msdn):一旦完成了套接字的连接,应当将套接字关闭,并且释放其套接字句柄所占用的所有资源。真正释放一个已经打开的套接字句柄的资源直接调用closesocket即可,但要明白closesocket的调用可能会带来负面影响,具体的影响和如何调用有关,最明显的影响是数据丢失,因此一般都要在closesocket之前调用shutdown来关闭套接字。 shutdown:... 阅读全文
Dynamic系列--Dynamic 与反序列化
2015-06-15 15:23 by Shawn.Cheng, 2928 阅读, 收藏,
摘要:
通常在调用其他站点的api时,如果返回的结果为 json数据,而我们又不想再重新定义实体类时,可以使用dynamic类型。 但是有以下需要注意的地方。 - 当内容为空时,反序列化结果为null- 当内容格式有误,不可反序列化时,将会抛出异常。- 内容正确时,得到的对象是 Dictionary (... 阅读全文
PetShop4.0 学习总结----数据库访问层结构分析
2011-12-15 18:16 by Shawn.Cheng, 2625 阅读, 收藏,
摘要:
最近在看PetShop4.0 ,暂且熟悉了一些数据库层的设计。看了看,其实也不是很复杂。主要就是使用了一个工厂 ,以及一个IOC依赖注入。我所画的类图如下(不是很标准,自己的UML 水品一般。。。)其中的web.config是我自己天上去的,主要就是为了说明一下IOC的问题。其中的Model主要定义了一些实体类。IDAL提供了数据库访问层的抽象,分别有SQLDAL 和OracleDAL去实现。DALFactory是一个反射工厂,通过读取配置文件中的配置,判断使用的那个DAL,然后利用反射生成相应的IDAL实例。DALFactory代码如下 public sealed class DataAcc 阅读全文
浙公网安备 33010602011771号