2012年9月5日
摘要: 事务是个很精妙的存在,我们在数据层、服务层、业务逻辑层等多处地方都会使用到。 在这里我只说下TransactionScope这个微软推荐使用的隐式事务。它是从Framework 2.0开始引入的一个事务管理类,在使用隐式事务时,事务完成前 程序应调用TransactionScope的Complete()方法,将事务提交,然后利用Dispose()释放事务对象。若执行期间出现错误,事务将自动回滚。 比如: using (ransactionScope scope = new TransactionScope()) { //to do something scope.Complete(); }在. 阅读全文
posted @ 2012-09-05 10:33 牦牛 阅读(6212) 评论(4) 推荐(5) 编辑
  2012年4月16日
摘要: 刚才在乌云漏洞发现个很搞笑很无厘头的漏洞举报:由于微软IE浏览器的Css处理导致的浏览器崩溃。。。<html><head><style>#a{margin:010px10px;}#b{width:100%;}</style></head><body><table><tr><td><divid="a"><formid="b"><inputtype="text"></div></ 阅读全文
posted @ 2012-04-16 14:53 牦牛 阅读(2092) 评论(6) 推荐(1) 编辑
  2012年3月23日
摘要: 最近在用jQuery的Ajax时,莫名其妙的出现了一个返回 12030的错误,有时候也弹出个12031,很奇葩。最后没办法,用HttpWatch查看Ajax请求,发现错误原来是:ERROR_INTERNET_CONNECTION_ABORTED 导致。这个就更莫名其妙了。。。解决方法也很搞,把type从"POST" 改成"GET"就OK了。为什么"POST"下就不行呢,百思不得其解。 阅读全文
posted @ 2012-03-23 12:47 牦牛 阅读(2449) 评论(0) 推荐(0) 编辑
  2012年3月8日
摘要: 最近用到了jquery的一个fom插件,是一个全面支持表单的jQuery插件。昨天在用ajaxSubmit进行Form Post提交的时候,发现服务器端取回的中文数据居然是乱码。这个可能是因为jquery是utf-8,不支持gb2312。 网上搜了很多方法,可能因为我用的这jquery.form.js是3.01版,也就是今年3月6日才发布的版本(汗。。。就是前天),所以普遍不太管用。至于低版本的是否管用,这个我没有去考证,但大部分还是不负责任的Copy Copy Copy 。还有一些方法是在提交前对所有的值先编码,我觉得这个太麻烦,额外增加了不少的前端代码量,也就没有采取。 好吧,那还是自.. 阅读全文
posted @ 2012-03-08 16:56 牦牛 阅读(2845) 评论(1) 推荐(2) 编辑
  2012年3月6日
摘要: 职位职能: 初/中级软件工程师 薪水范围:4500-6000岗位职责:1)完成公司营销页面&推送页面的开发工作;2)完成公司电信增值业务项目建设工作以及接口开发工作;3)完成公司项目上线后的技术支撑工作;岗位要求:1)本科及以上学历,一年以上计算机或通信行业工作经验;2)熟悉Asp.Net、C#、J... 阅读全文
posted @ 2012-03-06 14:17 牦牛 阅读(643) 评论(11) 推荐(0) 编辑
摘要: 职位描述: .NET高/中级研发工程师岗位职责: 1. B/S产品开发 2. B/S项目开发岗位要求: 1.本科以上学历,两年以上B/S系统开发经验,了解Web开发流程,可独立开发Web系统; 2.熟悉C#编程,深入了解.Net Framework,熟练应用ASP.Net、ADO.NET、... 阅读全文
posted @ 2012-03-06 13:23 牦牛 阅读(540) 评论(0) 推荐(0) 编辑
  2012年1月18日
该文被密码保护。 阅读全文
posted @ 2012-01-18 18:48 牦牛 阅读(4150) 评论(43) 推荐(14) 编辑
  2012年1月12日
该文被密码保护。 阅读全文
posted @ 2012-01-12 11:27 牦牛 阅读(1125) 评论(6) 推荐(0) 编辑
  2012年1月9日
摘要: 之前在IIS 6.0 配置过伪静态:httpHandler实现.Net无后缀名Web访问。现在服务器硬件升级了,操作系统也升级成了Windows Server 2008,好吧。我们也来设置下IIS 7.5的伪静态: 1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式; 2)部署好站点,并将此站点的应用程序池设置为nettest; 3)选中站点,切换到功能试图,找到 "服务器组件"-> "处理程序映射",双击之后,在打开窗口右侧的操作栏目下做如下设置: 4)&quo 阅读全文
posted @ 2012-01-09 16:43 牦牛 阅读(7649) 评论(1) 推荐(0) 编辑
  2011年12月29日
摘要: 最近很多互联网公司和企业相继被爆出账号泄密问题。昨天大清早的,我们居然也收到了某“热心”网友爆出的我们某产品的网站的安全漏洞问题。。。 这个漏洞说白了就是最基础的SQL注入问题,网站某页面被SQL注入之后能获得更大的权限。这种问题大多就是在接受Http Get或Post参数之后,直接拼SQL去操作数据库,没有对参数类型或者参数包含的关键字进行判断和过滤。当然我这只是举个例子,我也相信这仅仅只是被暴露出的冰山一角,这么基本的问题都能出现,肯定会有更严重的漏洞存在。虽然这种网站我们都外包出去,但看到这样草草了事的程序代码和做事态度,我还是觉得心寒。不为别的,我只是忠心的希望这些程序员们在交工的.. 阅读全文
posted @ 2011-12-29 12:31 牦牛 阅读(609) 评论(1) 推荐(0) 编辑
  2011年12月26日
摘要: 我们在使用移动、电信等运营商网上营业厅的时候,为确保业务的完整和正确性,经常会需要用到短信的验证码。最近因为某省业务需要,也做了个类似的功能。 原理很简单,就是在用户点击"获取验证码"的时候,Ajax获取一串固定位数的数字,然后写数据库发短信,写Cookie设置验证码的有效期。 JS请求验证码如下: $.ajax({ type:"GET", url:"../Ajax/smsrandcodetest.ashx?phone="+phone.val()+"&smsCodeRand="+num, success:f 阅读全文
posted @ 2011-12-26 20:08 牦牛 阅读(24927) 评论(25) 推荐(10) 编辑
  2011年11月23日
摘要: 前段时间下载了某园友自己积累的开源类库,正好昨天有个需求需要发下邮件,于是就打算试下这个类库里面的 SmtpServerHelper 。 程序跑起来后,单人发送、附件发送、多人发送都是正常的,不过这个多人发送的时候,邮件的收件人栏只会显示第一个收件人的信箱地址,不会再显示其他人的信箱地址,也就是如果自己不是第一个收件人,信箱地址明显就是错误的,一看源码:SendBufferstr+="To:=?"+mailMessage.Charset.ToUpper()+"?B?"+Base64Encode((string)mailMessage.Recipients 阅读全文
posted @ 2011-11-23 10:33 牦牛 阅读(4376) 评论(0) 推荐(3) 编辑
  2011年10月21日
摘要: 首先在Web.Config中添加HttpHandler定义:再定义HttpHandler逻辑:publicclass wtSSOCheck:IHttpHandler{publicvoidProcessRequest(HttpContextcontext){stringa=context.Request.QueryString["reqstr"];context.Response.Write(a);}publicboolIsReusable{get{returnfalse;}}}事例中是通过Get请求获取参数,来实现某Http重定向。最后,部署所在的服务器上的IIS还需要做下 阅读全文
posted @ 2011-10-21 17:40 牦牛 阅读(1947) 评论(4) 推荐(0) 编辑
  2011年8月4日
摘要: 今天到新上架的服务器上部署某.Net程序,运行之后发现报这个错:OCIEnvNlsCreate failed with return code -1 but error message text was not available。中文意思应该是:“OCIEnvNlsCreate 失败,返回代码为 -1,但错误消息文本不可用” 。肯定是Oracle某权限不足的问题,网上找资料实践摸索了几次,终于找到解决方法:在Oracle的ora92目录,选择属性,给其加上“network service”这个用户的完全控制权限即可。桑不起啊! 阅读全文
posted @ 2011-08-04 20:07 牦牛 阅读(3098) 评论(2) 推荐(0) 编辑
  2011年7月8日
摘要: 好吧!接着上一篇。通过业务人员了解到,我们的这个业务确实是需要先用户主动订购,才能下发SMS。好吧!我订购! 这个时候就需要ISMP了。 这个订购是运营商主动下发给我们的,需要我们提供一个接口来接受Post过来的报文,并回传(直接原路返回): Response.ClearContent(); Response.ContentType="text/xml"; Response.Write("ok"); Response.End(); 返回的XML报文省略!就这样订购就没问题。 接下来的上下行也就没什么大问题了。 阅读全文
posted @ 2011-07-08 13:03 牦牛 阅读(645) 评论(0) 推荐(0) 编辑
  2011年6月29日
摘要: 最近做电信的ISAG短信通道,真心伤不起。各种问题层出不穷。电信提供了几个WSDL文件,引用之后是可以调用相关函数,但关键的是只有发送包体(SOAPBODY)的函数,没有包头(SOAPHEADER)的函数,这样不仅发送的报文不完整,而且因为没有包头的一些配置信息, 比如一些业务信息、产品信息等,结果就是根本无法成功提交。实在没法,只能抛弃这些现有的函数,自己组合XML来像目标地址发送报文。。。spId时间戳密钥产品IDtel:+8618900000000tel:+8618900000000falsetel:+861890000000010658888描述01短信内容http://test:.. 阅读全文
posted @ 2011-06-29 16:24 牦牛 阅读(1492) 评论(1) 推荐(0) 编辑
  2011年6月10日
摘要: 之前需要做一些定时程序时,经常在Global.asax文件的Application_Start中,写这些定时任务,比如定时扫描然后进行逻辑处理等。后来发现这个Application_Start非常蛋疼,因为当该网站木有人访问超过20分钟(IIS默认的超时时间),应用程序池就会调用Application_End方法回收HttpApplication对象资源,从而导致定时器无法正常工作了。所以知道了失效原因所在,处理起来就很好办了,我们可以把定时任务的时间设置成小于20分钟;或者干脆放弃Global.asax,用Windows服务来代替,个人感觉这种方法处理起来更可靠更稳定。具体可参考:Wind. 阅读全文
posted @ 2011-06-10 11:05 牦牛 阅读(1838) 评论(4) 推荐(0) 编辑
  2011年6月1日
该文被密码保护。 阅读全文
posted @ 2011-06-01 19:59 牦牛 阅读(6160) 评论(130) 推荐(43) 编辑
  2011年5月26日
摘要: 由于工作的关系,一直在和一些短信收发类的接口打交道,比如宽乐通信、企信通等,基本上都是基于这些接口的二次开发。在弄企信通的时候,这个厂家提供的是非托管的DLL,必须用DllImport来调用: 特别是在获取上行短信的时候,要先从非托管内存中分配内存,再逐条获取短信内容: 阅读全文
posted @ 2011-05-26 15:35 牦牛 阅读(1405) 评论(5) 推荐(2) 编辑
  2011年5月23日
摘要: 之前做一些需要定时处理的程序时,有放置在Global.asax文件的Application_Start方法中去处理。但最近发现这种写法非常不可靠。于是转为Windows服务来处理。 一、Windows服务项目建立 在Service1.cs的OnStart()和OnStop()方法中添加启动、关闭定时控制代码 protectedoverridevoidOnStart(string[]args){intdealtime=Int32.Parse(ConfigurationManager.AppSettings["TimerValue"].Trim());//单位小时timer1= 阅读全文
posted @ 2011-05-23 18:26 牦牛 阅读(982) 评论(5) 推荐(1) 编辑