最近做个项目,功能由两部分构成。一个WEB部分,一个Windows部分。web程序主要供用户使用,通过web进行信息的管理,操作数据库。Windows部分在服务器上运行,读取数据库,对数据进行处理。以前Windows程序用C++做的,web程序用ASP做的。现在我想改成C#.NET做,这样可以共用底层的数据层和逻辑层。这样的好处很明显:以前的方式,如果需要改功能,那么既要改C++程序,也要改ASP程序。使用C#整合到一起后,只需要改一份底层的代码就够了,如果显示需要变得,那么就改UI层。这样很方便,而且出错率低。
现在遇到一个问题,WEB部分采用ASP.NET编写,在读取配置文件web.config时有默认的类库和函数。在类库中使用这些函数后,在Windows程序中虽然可以编译通过,但是读取不到配置数据,因为Windows程序不认识ASP.NET里面的读取web.config方法。我想过用反射,或者其他什么方法,也没什么好主意。
后来注意到Windows程序下有个app.config,用上这个后,就发现没问题了,只要把web.config中的关键数据设置同样一份到app.config文件中即可。底层逻辑代码和函数都不需要任何变动即可。很方便,轻松了不少。
C#做项目,的确很快,很方便。特别是可以将web和Windows程序结合起来。采用MVC思想,模型层、控制层可共用,web和Windows就是是视图层不同而已。