WYDC项目开发
来源:互联网 发布:淘宝店铺如何暂时关闭 编辑:程序博客网 时间:2024/06/05 03:18
一、 开发环境搭建
Vs2010 + postgresql9.0 + Npgsql.dll(Mono.Security.dll)+AjaxPro.2.dll+EasyUI
二、下载Npgsql.dll和Mono.Security.dll(官网下载)(官网)
Npgsql是PostgreSQL的一个.NET数据提供程序,它可以自由获取。如果只引用了Npgsql.dll,那么程序运行起来后会报错,提示找不到对Mono.Security.dll引用的依赖项。引用后还需要在代码中添加using即可以使用.net来访问postgresql数据库了。
下面是示例代码:
1、 在Web.config中添加
<add key="ConnectionString"value="Server=127.0.0.1;Port=5432;User Id=postgres;Password=postgres;Database=gis;Encoding=UNICODE"/>
2、 从web.config中读取信息
Using Npsql;using System.Web.Configuration;public static string GetAppSetting(string key){ string value =WebConfigurationManager.AppSettings[key]; if(value == null) { throw newConfigurationErrorsException("Error!"); } return value;}public static string ConnectionString{ get { returnGetAppSetting("ConnectionString"); }}
3、 连接数据库
protected NpgsqlConnection GetDBConnection(){ NpgsqlConnection connect; connect = new NpgsqlConnection(ConnectionString); connect.Open(); return connect;}
以后用的时候直接NpgsqlConnection conn=GetDBConnection();
////// 测试获取数据(使用要加try、catch)///private void TestGetData(){ using (NpgsqlConnection dbcon= new NpgsqlConnection(StrConnection)){ dbcon.Open(); NpgsqlCommand dbcmd =dbcon.CreateCommand(); dbcmd.CommandText = "SELECT * FROM ContainerObj.TableObj limit 5"; NpgsqlDataReader dr =dbcmd.ExecuteReader(); string strResult =string.Empty; while (dr.Read()) { stringstrRecord_Time_Int = dr[0].ToString(); strResult +="record_time_int: " + strRecord_Time_Int; } dr.Close(); dr = null; lblRes.Text = strResult;}
注意:进行数据库连接的这段代码一定要加上try和catch,一来出错可以捕捉查看错误信息,二来程序不至于崩溃。
[封装好的Npgsql数据库操作类可参考此连接]
三、 Ajaxpro
1、 简介
Ajax(asynchronose javascript + xml)应用可以仅向服务器发送并取回必须的数据,它使用SOAP或者其他基于XML的web service接口,在客户端采用javascript处理来自服务器的响应。其优势在于以下几点:
l 通过异步模式,提升了用户体验
l 优化了浏览器和服务器之间的传输,减少了不必要的数据往返,减少了带宽的占用
l Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
2、 下载AjaxPro.2.dll并添加引用
Ajax.net有AjaxPro.dll和Ajax.dll。[源码下载][官网]
AjaxPro是ASP.NET平台上著名的AJAX框架,全名叫Ajax.NETProfessional。
3、 配置web.config[参考]
<system.web> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/> </httpHandlers></system.web>
4、 在.net方法中向客户端注册javascript,并将要调用的.NET方法添加AjaxMethod属性。
以下为引用的内容:
namespace MyDemo{public class _Default{ protected voidPage_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default)); } [AjaxPro.AjaxMethod] public DateTimeGetServerTime() { return DateTime.Now; }}
}
5、 在客户端用js调用服务器端C#方法
function getServerTime(){<span style="white-space:pre"></span>MyDemo._Default.GetServerTime().value; // asynchronous call}
6、 解决AjaxPro2中core.ashx 407缺少对象的问题[源码下载地址]
下载源码,给core.js中报错代码段加上try和catch,运行build.bat(根据提示加上release)得到修改后的AjaxPro.2.dll
7、 this.onTimeout is not a function 的Bug解决方案(参考)
在wydc项目中引用的AjaxPro.2.dll是经过此修改后冲编译的
timeout: function() {try {this.duration = new Date().getTime() - this.__start;var r = this.onTimeout(this.duration, this);if(typeof r == "undefined" || r != false) {this.abort();} else {this.timeoutTimer = setTimeout(this.timeout.bind(this),AjaxPro.timeoutPeriod);}} catch(error) {// Statements that execute in the event of an exception} finally {// Statements that execute afterward either way}
8、 参考示例1(环境搭建、接收返回值、方法的属性、缓存结果、访问session、传送DATATABLE、传送数组类型数据)
- WYDC项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发
- 项目开发项目管理(转)
- 项目开发之项目分析
- 项目开发之项目设计
- 【项目管理】项目开发管理
- 项目开发感慨
- 项目开发介绍
- Android屏幕density, dip等相关概念总结
- log4j的配置文件配置出多个logger
- 用array_count_values统计一篇英文文档中每个单词的出现次数,结果用表格展示出来
- 全国十大热招职能,企业薪资数据揭秘
- 超详细的django1.8处理centos下nginx上处理静态文件步骤!
- WYDC项目开发
- 64位centos6.7安装mysql-5.7.11
- winform 显示控件层级关系
- STM32F4 Discover开发环境搭建(Keil MDK/STM32 Ac6 System Workbench)
- Java泛型
- android studio \65279错误
- ora-00054:resource busy and acquire with nowait specified解决方法
- 订单小票打印模板
- CityMaker研修之路 01 BIM云端构架