题记)最是那一低头的温柔,像一朵睡莲花不胜凉风的娇羞

1)接收

  公司的X部门有个APP小项目,APP后台是C sharp的MVC,提供了一个C sharp的web from做管理员操作的后台操作,此项目是一个实习生写的,也不属于我这边,因此我对此了解是透明的,后来实习生没来了,于是这一堆从Android到wp到IOS到后台的BUG全部丢到我这了。

  得说点题外话,现在很多大学生抱怨找不到工作,但是很多找到工作的学生,人品真的不咋的,记得去年,那工作环境是相当的巴士,早9晚6,从不加班,周末从来双修,按时出去旅游,后来公司一气招了5个实习生,这些实习生,干了一段时间,招呼不打,直接就不来上班了, HR妹妹打电话问,直接就说不来上班了,然后让其归还门禁卡,后来没有下文了。

  对C sharp没有深入研究过,这次到手一个项目,想自己搞一下,有源码在手,有MSDN在那放着,还不能征服你个小小的C sharp,何惧之有?于是我卯足了劲,根据BUG列表,一个劲的在MSDN上来回扫,放在其他语言中,这些bug就是一些入门的问题,然对C sharp没有深入过,也的慢慢来。

  1):整个管理员登录的后台Web系统全部无法实现更新操作

    解决:C sharp有个Page_Load,这个方法我觉得很奇葩,因为每次页面加载会执行这个方法,于是这里显示了页面详情,表单的post提交会再次执行这个方法,然后才提交表单,正因为提交表单的时候,执行了这个方法,input里面的值被数据库的值给替换了,导致数据被覆盖,于是看了MSDN里面,微软的处理方法是判断是否是第一次调用这个方法:

    

 protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ShowData(); //显示页面详情
}
}

  没有想明白在POST之前再次调用这个方法有什么意义。

  2)奇葩的数据,因为我看的是后台的MVC代码,并没有去生成APP客户端,APP的后台是MVC模式,客户端通过HTTP请求,返回JSON,于是从登录入手熟悉代码,整个登录流程功能倒是没啥问题,就是实现的太扯蛋了,从数据库一看:

  

  第一个念头是这玩意儿使用的啥加密方式,浏览了3次代码,没有发现可疑的加密的地方,登录验证是用存储过程实现,基本就是很简单的几句,于是我转念一想,难道。。。。

  

  很实在的插入一条,我靠,还真是,数据库没有加密,这串看着像密文的东西就是明文入库,现在写代码的小朋友,实在是不该啊,好歹MD5一下成不。

  3)在给我处理了1 mol的问题之后,活动专题有个地方,无法修改,于是再次卯足劲看问题,发现这个地方是抛了SQLException,异常信息:

    

e:过程或函数 'PR_Action_UpdateActionByActionID' 需要参数 '@ActionAddress',但未提供该参数。

  说的很明确,没有赋值,再次看代码:

  

  问题就在这个地方,这里的参数的名称没有写对,也就是给一个数据库不存在的字段赋值,传递给了存储过程,这报错也太奇葩了,不报错该字段不存在,报字段未赋值。

   这些因为人不仔细的问题坑死人啊。。

后记)基本耗时一天把整个后台的问题基本处理了,然后丢到线上,客户那边是抱怨不已,登录不进去,无法注册,速度太慢,速度是因为使用第三方模块的UI,模块里加载了很多google的css,加入第三方模块的人不太熟悉,没有去掉,导致整个系统到处慢的要命。

PS:总体来说C sharp还是不错,写起来有手感,会j2ee再来搞C shrap门槛很低,我就在想,做一个软件,将java代码做个大小写转换,然后java代码就可以变成C sharp了。。

有空研究下这个。

(原)C sharp杂谈记事(一)的更多相关文章

  1. [原][杂谈]如果人类的末日:"天网"出现

    本文由南水之源在2019年3月21日发布,转载需声明原作者 本文仅为一次基于科技发展与科幻小说的幻想,如果天网真的出现,请不要参考这篇逻辑破败的推论. 参考: 天网(Skynet),是电影<终结 ...

  2. PHP图像处理之在原图像处理

    处理原有的图像        图片处理,缩放,裁剪,翻转,旋转,透明,锐化等图片操作        一.创建图片资源            imagecreatetruecolor(width,hei ...

  3. 杂谈:Windows操作系统的介绍与对Win8操作系统市场反响冷淡原因的分析

    Windows操作系统,毫无疑问是操作系统市场上的霸主,也正因为Windows操作系统的诞生让电脑的操作性能变得更加平民化,深的用户的喜爱.至今身边的人也是选择windows操作系统的居多,这篇文章也 ...

  4. Hadoop体系结构杂谈

    hadoop体系结构杂谈 今天跟一个朋友在讨论hadoop体系架构,从当下流行的Hadoop+HDFS+MapReduce+Hbase+Pig+Hive+Spark+Storm开始一直讲到HDFS的底 ...

  5. KVM&amp;Libvirt基本概念及开发杂谈

    导读 大家好,本次肖力分享的主题是KVM&Libvirt基本概念及开发杂谈,内容有些凌乱松散,主要基于自己早期整理的笔记内容和实践感悟,有些内容难免有失偏颇,望见谅.前面先介绍下需要了解的基本 ...

  6. 死磕 java原子类之终结篇(面试题)

    概览 原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换. 原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割 ...

  7. ON LARGE BATCH TRAINING FOR DEEP LEARNING: GENERALIZATION GAP AND SHARP MINIMA

    目录 概 主要内容 一些解决办法 Keskar N S, Mudigere D, Nocedal J, et al. On Large-Batch Training for Deep Learning ...

  8. 【原】谈谈对Objective-C中代理模式的误解

    [原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...

  9. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

随机推荐

  1. MySQL入门很简单: 8查询数据

    1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [A ...

  2. Vue--父组件传数据给子组件,子组件生命周期过程拿到数据的情况

    需求: 在子组件渲染之前,我要修改数据的某个字段 结果是 组件在beforeUpdate,updated 的状态才能拿到父组件的数据 那么证明,我根本无法在beforeUpdate,updated两个 ...

  3. 高精度水题(POJ2109)

    题目链接:http://poj.org/problem?id=2109 double 可以虽然可以表示10^-307~~~10^208,但是精确度只有16位,这个题有bug. #include < ...

  4. Poj(2312),坦克大战,BFS的变形

    题目链接:http://poj.org/problem?id=2312 挺有趣的一道题目,然而很容易WA,我就WA了一次,虽然我Debug的时候已经知道哪里出问题了,就是比如说我搜到B和E时,从B搜第 ...

  5. vue中css动画原理

    显示原理: <transition name='fade'> <div v-if='show'>hello world</div> </transition& ...

  6. react里面怎么引入样式

    模块样式 在刚开始构建好框架的时候,准备开始写业务,在第一个页面的时候就会碰到怎么引入样式的问题,踩过一些坑,不是使用style,头部也不需要另外取名,直接引入css就可以,引入方式是这样 <d ...

  7. c# 语法 字符串内插

    结果截屏 参考文章 https://www.cnblogs.com/csproj/p/Interpolated_Strings.html c# 6.0语法 https://www.cnblogs.co ...

  8. Tomcat8.0.36安装配置

    1.下载tomcat8.0.36 下载地址:http://tomcat.apache.org/download-80.cgi 2.解压 至C:\Program Files\tomcat8下 3.添加系 ...

  9. office2010激活

    软件下载链接: http://yunpan.cn/cySGrE99u6uv3 (提取码:c612) 下面是操作演示,我录制成gif文件了,下载下来用浏览器打开 360网盘:http://yunpan. ...

  10. python 多进程,多线程,协程

    在我们实际编码中,会遇到一些并行的任务,因为单个任务无法最大限度的使用计算机资源.使用并行任务,可以提高代码效率,最大限度的发挥计算机的性能.python实现并行任务可以有多进程,多线程,协程等方式. ...