C# 从单用户桌面应用程序转向多用户开发
我想在晚上和周末启动一个微型ISV。我在开发的早期阶段有一个应用程序。它是用C#编写的,主要由一组表示问题域的类组成。此时,没有UI或数据持久性。(我甚至还没有决定使用.NET平台。现在我可以换成Java或本机可执行文件已经足够早了) 我对这个应用程序的目标是,它将是一个混合的单用户/偶尔连接的多用户应用程序。单用户部分将使用嵌入式数据库进行本地存储。这是我熟悉的一种开发模式 多用户部分是我以前没有的经验。我知道每个用户都需要两件事:C# 从单用户桌面应用程序转向多用户开发,c#,multi-user,C#,Multi User,我想在晚上和周末启动一个微型ISV。我在开发的早期阶段有一个应用程序。它是用C#编写的,主要由一组表示问题域的类组成。此时,没有UI或数据持久性。(我甚至还没有决定使用.NET平台。现在我可以换成Java或本机可执行文件已经足够早了) 我对这个应用程序的目标是,它将是一个混合的单用户/偶尔连接的多用户应用程序。单用户部分将使用嵌入式数据库进行本地存储。这是我熟悉的一种开发模式 多用户部分是我以前没有的经验。我知道每个用户都需要两件事: 与公共internet上远程服务器的基于IP的通信 用户身
- 与公共internet上远程服务器的基于IP的通信
- 用户身份验证和远程数据存储
1.直接访问数据库是最简单的,也是最差的。想想你是如何授权数据库访问的。。。我只需要编写一个带有可序列化参数的远程可编程API,然后担心以后要连接哪些方法(web服务、IIOP等等)——通信细节都是包装和隐藏的
2.无如果您坚持使用.net(我个人的偏好),我会通过WCF公开数据访问呼叫。WCF配置非常灵活,非常容易获取,并且您希望将数据库隐藏在服务层后面。关于移动到多用户应用程序,集中数据当然是第一步,实现这一点的最简单方法通常是使用基于云的数据库,如Amazon SimpleDB或MS Azure。您通常会获得一个访问密钥和一个用于身份验证的长“秘密” <>如果你的数据不是高度相关的,你可能想考虑Amazon SimuleDB。大多数语言都有SDK,它允许简单代码在世界任何地方使用密钥和密码在SimpleDB数据库中存储/检索数据。您根据数据存储和流量为服务付费,因此它的进入门槛非常低,特别是在开发期间。它还将从一个小型家庭应用程序扩展到amazon.com的大小 如果您选择实现自己的数据库服务器,您应该记住两件关键的事情: