博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的第一个WinForm程序
阅读量:5933 次
发布时间:2019-06-19

本文共 1401 字,大约阅读时间需要 4 分钟。

一,缘起

工作相对比较自由, 虽然.net 从面世之时就关注了, 但是因平常写程序机会不多, 还真没写过WinForm程序.

前些日子集团公司推广一个系统, 也是用.net 写的, 就研究了一下, 发现其中使用了WCF(我不熟). 但是它的使用方式我却不敢苟同, 它的服务契约就像下面的样子:

[ServiceContract]public interface IServiceDM{	[OperactionContract]	int Authenticate(...);	...	[OperationContract]	DataSet ServiceDMDataSet(string spName, object[] params);	[OperationContract]	DataSet ServiceDMDataSetSql(string SQLText);	...	[OperationContract]	int Test();}

Authenticate 是用于验证的, ServiceDMDataSet用于执行后台的存储过程, ServiceDMDataSetSql用于执行Sql语句.

这样使用也是和WCF的字眼很贴合, 一个纯粹的 Communication 通路, 原来的二层的面向过程的C/S 程序稍加改动就可以放到公网上使用了, 后台的数据库端口就不暴露在公网上了.

通过观察存储过程的参数, 认为后台数据库还是 Sql Server 于是我试着通过这样的接口向后台发送了几条命令, Select @@Version, 没问题, 正常, 哦是Sql Server 2008, 接着来

Select @@ServerName, ISNULL(SUSER_SNAME(), SUSER_NAME()), Db_Name()

上面的语句分别返回 数据库服务器名, 登录名, 数据库名. 天哪, 登录名竟然是sa.

二, 诞生

于是我想到, 我如果有一个能够透过WCF的Query Analyzer 就可以很方便的浏览他的数据库了, 我先在网上找了下这方面的程序, 有个现成的程序 叫Query Express 是用.net 写的, 能够访问 Sql Provider, Oracal Provider, Ole Provider, 稍加改动, 就可以实现我的目的. 但是, 读了它的代码之后, 我觉得这个程序写得并不好, 程序的各个部分还是关联的太紧, 于是我想我还是重新写一下吧, 于是有了我的这个程序, 它也能访问直连的本地MsSql数据库, 当然, 这个程序只是很mini的一个小程序. 通过做程序, 我发现Query Analyzer还是完成很多功能的. 但过了几天后, 我已经没有兴趣继续这个程序了.

三, 教条

WCF的一个目的是实现SOA, 通常使用SOA 应该将程序逻辑分成 表现层, 应用逻辑层, 领域层. 服务通常是应用逻辑层向表现层提供的. 现在, WCF只是作为 表现层 调用 后台数据库的一个通道. 是不是觉得有些另类呢?

附:

为防止破坏, 程序删除了WCF连接部分, 我的程序写得很随意, 欢迎拍砖.

转载于:https://www.cnblogs.com/chat-in-code/archive/2011/11/03/AnswerForme.html

你可能感兴趣的文章
我的友情链接
查看>>
办公室几台电脑怎么连一台打印机的具体步骤
查看>>
linux安全---cacti+ntop监控
查看>>
鸟哥的linux私房菜-shell简单学习-1
查看>>
nagios配置监控的一些思路和工作流程
查看>>
iptables+layer7实现访问控制+netfilter/iptables基础
查看>>
通讯组基本管理任务三
查看>>
赫夫曼编码实现
查看>>
html页面显示div源代码
查看>>
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>
带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例
查看>>
如何解压缩后缀名为zip.001,zip.002等的文件
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
Python 以指定概率获取元素
查看>>
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
linux用户添加组
查看>>
关于System.Collections空间
查看>>
关于教师一职的思考
查看>>
Android APP分享(第三方友盟)
查看>>