(原)C sharp杂谈记事(一)
题记)最是那一低头的温柔,像一朵睡莲花不胜凉风的娇羞
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杂谈记事(一)的更多相关文章
- [原][杂谈]如果人类的末日:"天网"出现
本文由南水之源在2019年3月21日发布,转载需声明原作者 本文仅为一次基于科技发展与科幻小说的幻想,如果天网真的出现,请不要参考这篇逻辑破败的推论. 参考: 天网(Skynet),是电影<终结 ...
- PHP图像处理之在原图像处理
处理原有的图像 图片处理,缩放,裁剪,翻转,旋转,透明,锐化等图片操作 一.创建图片资源 imagecreatetruecolor(width,hei ...
- 杂谈:Windows操作系统的介绍与对Win8操作系统市场反响冷淡原因的分析
Windows操作系统,毫无疑问是操作系统市场上的霸主,也正因为Windows操作系统的诞生让电脑的操作性能变得更加平民化,深的用户的喜爱.至今身边的人也是选择windows操作系统的居多,这篇文章也 ...
- Hadoop体系结构杂谈
hadoop体系结构杂谈 今天跟一个朋友在讨论hadoop体系架构,从当下流行的Hadoop+HDFS+MapReduce+Hbase+Pig+Hive+Spark+Storm开始一直讲到HDFS的底 ...
- KVM&Libvirt基本概念及开发杂谈
导读 大家好,本次肖力分享的主题是KVM&Libvirt基本概念及开发杂谈,内容有些凌乱松散,主要基于自己早期整理的笔记内容和实践感悟,有些内容难免有失偏颇,望见谅.前面先介绍下需要了解的基本 ...
- 死磕 java原子类之终结篇(面试题)
概览 原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换. 原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割 ...
- 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 ...
- 【原】谈谈对Objective-C中代理模式的误解
[原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
随机推荐
- SQL:获取语句执行时间
项目中查看数据库查询语句执行时间,脚本如下: --清除缓存 CHECKPOINT; DBCC DROPCLEANBUFFERS; DBCC FREEPROCCACHE; DBCC FREESYSTEM ...
- MCV 的几种表单提交方式
一,MVC HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} 其中actionName ...
- cudaMemcpy2D介绍
cudaMemcpy2D( d_A, // 目的指针 d_pitch, // 目的pitch bmp1, // 源指针 sizeof(int)*2, // 源数据pitch sizeof(int)*2 ...
- javascript入门笔记7-计时器
计时器 语法: setInterval(代码,交互时间) 参数说明: 代码:要调用的函数或要执行的代码串. 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=1000ms). 例子: & ...
- ImportError : cannot import name main
当我们有时候安装不成功插件或者其他模块时候,会有pip报错hu@hu-VirtualBox:~/下载/MySQL-python-1.2.4b4$ pip install pymysqlTracebac ...
- Oracle 启动 停止JOB
转自:https://www.cnblogs.com/qianbing/p/6971633.html --查看job下次执行时间以及间隔时间 '; --启动job ); --停用job EXEC DB ...
- MySQL超大表如何提高count速度
经常用到count统计记录数,表又超级大,这时候sql执行很慢,就是走索引,也是很慢的,怎么办呢? 1.这个时候我们就要想为什么这么慢:根本原因是访问的数据量太大,就算只计算记录数也是很慢的. 2.如 ...
- datatable行内内容太长,有时不自动换行解决方法
加一个css属性即可 style = "word-wrap:break-word;" js代码: "render": function (data, type, ...
- scrapy--Cookies
大家好,之前看到的关于cookies的应用,由于有段时间没看,再看的时候花了一些时间,来给大家总结下.本文是根据:"http://www.bubuko.com/infodetail-2233 ...
- 生产者消费者-Java代码实现
import java.util.LinkedList; class Storage{ private static final int MAX = 100; LinkedList<Object ...