Wpf 创建简单的多用户桌面应用程序

Wpf 创建简单的多用户桌面应用程序,wpf,database,visual-studio,ms-access,sqlite,Wpf,Database,Visual Studio,Ms Access,Sqlite,我正在为一个学校系(假设是数学系)开发一个简单的分数管理系统。他们想要一个简单的系统,让用户在每个学生进步的过程中为他们输入分数,为每个学期输入分数,获得年平均值,按老师排序,等等 他对该部门负责人说,最多可能有12至15人可以通过有线和无线连接访问数据库。我最初觉得访问应该足够了,但是经过一些研究,它似乎不是理想的选择(15个用户接近推送它,加上无线连接不理想) 因此,我决定采用基于Sqlite的解决方案。我选择Sqlite的原因是为了缓解诸如每次服务器重新启动时重新启动数据库软件之类的问题。

我正在为一个学校系(假设是数学系)开发一个简单的分数管理系统。他们想要一个简单的系统,让用户在每个学生进步的过程中为他们输入分数,为每个学期输入分数,获得年平均值,按老师排序,等等

他对该部门负责人说,最多可能有12至15人可以通过有线和无线连接访问数据库。我最初觉得访问应该足够了,但是经过一些研究,它似乎不是理想的选择(15个用户接近推送它,加上无线连接不理想)

因此,我决定采用基于Sqlite的解决方案。我选择Sqlite的原因是为了缓解诸如每次服务器重新启动时重新启动数据库软件之类的问题。让Sqlite驻留在中心位置,并让软件通过LAN连接与其通信。希望它能正常工作

我想了解一下我应该用什么来创建实际的前端。我倾向于C#WPF应用程序。虽然我已经通过DreamSpark为uni使用了专业版(或者是终极版?),但该项目不在许可范围内,因此我将不得不使用快速版

我想知道哪些功能缺失可能会阻碍我。数据库端并不是一个真正的问题——虽然linq或EF更可取,但我不知道Sqlite与linq一起工作,也不确定EF是否在快速版中。尽管如此,如果需要的话,我并不介意自己做所有的DB工作。我真正需要的是一种与DB接口的方法。使用VS 2010 Express执行此操作的最佳方式是什么?有没有免费的解决方案可以让这更容易

WPF缺少什么?是否所有(大部分?)控件都可用

基本上,我只是想知道我会受到什么样的限制,以及什么会给我带来麻烦

如果你还有其他建议,我很高兴听到。此外,我还记得听说微软有一个程序,让新手开发者在几年或几年内可以廉价或免费地使用这些工具。任何人都不知道它叫什么——在谷歌上搜索时都没有运气

另外,我记得听说微软 有一个节目开始了 开发商可以便宜或免费访问 几年的工具之类的。 知道它叫什么吗?我不知道 幸运的是,用谷歌搜索一下


程序

自1995年以来,我一直在使用MS Access,在LAN上并发多用户读/写场景中,尤其是在网络传输层不稳固的情况下,我有过很多MS Access的糟糕体验。连接在错误的时刻超时,可能导致数据损坏。我也使用Oracle和SQL Server编程,但有些客户根本不想承担真正的客户机-服务器(有别于共享文件)体系结构的额外成本,不管你告诉他们什么恐怖故事

您可以使用System.Data.SQLite库连接到SQLite,但由于SQLite在写入操作期间使用独占文件锁,因此它也可能被传输层异常损坏,这在涉及无线连接时并不少见

如果您选择Access或SQLite等共享文件体系结构,我倾向于推荐a)后端的web界面,或者b)真正的客户机-服务器引擎,客户机在桌面上运行。如果您选择使用大型商业公司而不是开源软件,您的学术客户可能有资格享受这些公司提供的大幅许可折扣


web界面还允许非Microsoft客户端使用该应用程序。

别忘了Sql Server现在有一个版本

有一些限制,但在您的场景中不应成为问题

重新启动数据库软件的问题是什么?如果重新启动服务器,文件共享无论如何都会脱机

另外,使用VS2010 Express时不应受到任何严格限制,值得注意的是缺少单元测试、外接程序支持和源代码管理集成


WPF应该为您提供生成丰富界面所需的一切,但您最大的障碍将是学习曲线。如果您能够克服这一点,那么WPF将为您提供很好的服务。

+1 web前端解决了此场景中的大多数基本问题。它足够简单(即不是实时股票交易),不必为高级本地客户担保通常会带来的所有维护负担和通信问题。如果你对网络服务器端的访问感到满意的话,也可以使用它,消除局域网和许多客户端连接问题。我刚在大学完成了一学期的WPF,所以我对它很满意。这不是真正的问题。问题是我无法控制服务器。我是来开发和部署应用程序的。他们只需要一些简单的东西,考虑到所有因素,PHP/Sqlite解决方案目前看起来相当不错。我想要的是一些在部署后需要最少维护的东西。BizSpark适用于新开发人员,并且与桌面更相关。WebSiteSpark是为web开发人员设计的,他们不必是初创企业。