您的位置:首页 > 移动开发 > Unity3D

【转载】使用Json比用string返回数据更友好,也更面向对象一些 |Asp.net MVC 2.0 + Unity 2.0(IoC) + EF4.0 实例:RoRoWoBlog 开源项目框架代码

2011-12-10 12:33 1201 查看
/article/5086970.html NET MVC权限设计思考之切入点

/content/4010869.html 了解.net MVC的实现原理Controller/Action

---------------------------------------------------

本开源项目当前使用框架如下:

前台表现:Asp.net MVC 2数据持久层:ADO.Net Entity Framework 4.0依赖注入容器:Unity 2.0开发工具:VS2010 开源项目地址:http://rorowo.codeplex.com/ 我这次国庆的时间 主要改了以下内容:
1、改为POCO,使EF的实体纯净
2、增加 IoCHelper类,把IoC的代码改为可以同时支持多种IoC
3、修改基础结构层,使其可以支持多种ORM框架4、修正继承自 DefaultControllerFactory 的自定义控制器,使MVC控制器可以支持依赖注入,充分发挥IoC自动装载的特性5、正式启用规约接口 ISpecification 作为查询条件 项目结构图:

要创建数据库,请在 RoRoWo.Blog.Infrastructure 打开 RoRoWoDB.edmx 模型视图,在视图显示页面中,点击鼠标右键,选择 “根据模型生成数据库”可以得到创建数据库的SQL,然后修改相关Config中的数据库连接字符串就可以了。 数据库默认是 SQL SERVER 2008 ,如果您是 2005 的,请用记事本打开 RoRoWoDB.edmx 文件,将 ProviderManifestToken="2008" 修改为 ProviderManifestToken="2005" ,否则插入数据的操作会出现问题。 欢迎广大技术好友下载源码,一起探讨、拍砖哈!我更多的希望能通过技术好友,学到更多...如有在DDD(领域驱动设计)方面感兴趣的朋友,希望加个QQ,我的号码:17020415 在这里我还要感谢两位朋友,一位是 邓智伟(xianrendzw) ,还有一位是 薛飞(xuefly),感谢他们在这个项目中所做出的贡献。 //-------------------------------------------------------------------【注意】我发现国内还是有很多朋友对免费的代码管理平台不是很熟悉。 什么是CodePlex?CodePlex是微软提供的一个源码管理平台,它是集开源社区、版本控制为一体的平台(目前在此平台上的项目必须开源)。 CodePlex可以做什么?首先,你可以使用TFC或SVN的客户端将你的开发项目签入到CodePlex,而无需自己搭建一个专门的源码管理服务器了;同时你也可以多人一起开发,相互之间可以看到其他成员对代码的修改情况(用过版本控制工具的人都清楚了)。 如何下载最新版本的源码?如果用户没有Release最新版本,我们如何下载最新版本的源码呢?可以这样:进入一个开源项目,然后点击“Source Code” 菜单链接,这时我们可以看到最后的一次代码签入日期,和 Change Set 编号,点击最新的编号,将进入一个相关文件签入的列表页面,在上面有“Download”和“Browse” 两个链接,点击“Download”,即可下载当前版本的源码了(你也可以进入到某个日期的一次代码签入,下载过去某天版本的代码)。//-------------------------------------------------------------------

//http://www.cnblogs.com/huntsoul/archive/2010/05/22/1741400.html (

【原】(一)Unity 2.0 IOC容器入门教程

)

以前的程序:

ViewData["msg"] = "{result:true,FileName:\"" + new FileInfo(Request.Files[0].FileName).Name +
"\",FileUrl:\"" + fileurl.Replace("\"", "") + "\"}";
重构之后的程序:

JsonResult j = Json(new
{
Result = true,
FileName = new FileInfo(Request.Files[0].FileName).Name,
FileUrl = fileurl.Replace("\"", "")
});
ViewData["msg"] = j.Data.ToString();


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

很明显,第二种方式可读性更强,在性能上第一种略好于第二种,但对于程序来讲,性能只是一方面

在面向对象的程序来讲,它的可能性,编写代码不易出错率也很重要,所以,建议在返回复杂字条符时,使用C#提供的Json,而不需要自己去拼写JS返回的Json格式。

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐