I have developed a desktop application using C# as frontend and SQL as backend. But one of my client wants to buy it if the software is able to operate from multiple computers and a common database must be placed on one main computer (server).
Hence I wanted to know,
If the already developed application can be configured as cl开发者_如何学Cient/server application making some minor changes OR should I completely develop a new application.
Secondly, how can I develop a client/server application (any hints or website links would be sufficient).
Thank you in advance.
It depends upon how you connect to the database. As from your post, it seems the application is ready to run off a single database from multiple computers. The database connection string need to be provided properly. Properly means that you should be able to connect to the database on a particular machine from all of the machines where you wish to run your application.
You can do that with some changes on both client side and server side (Sql).
You can install your SQL server on a machine and point your application to that machine to access database. You can then install your application (Client side) on n number of machines and access the central database.
If n number of users updating the database at the same time then you need to handle concurrent update transactions as well as reading the data at the time of update.
On the client side you should have multi user handling facility. Where multiple users can access the client side system with different logins on different machines and even database should facilitate that user role mechanism. if your system doesn't require any user roles in the system and anybody can access that application, then this change is also not required.
Based on your requirement I can say that this is not much complex client server application. So getting basic idea on client server application is enough. This you can find it by googling.
Although seems your applications already can work with common DB, I would suggest you to have service layer. You can develop service layer with WCF which will deal with DB and your clients will work with that service layer. So it will be kind of n-tier application. I think this will require less modification as you have already developed presentation part (desktop application) and also some of Data Layer.
You need something like this :
(source: webopedia.com)
精彩评论