T
theburnetts
I am building an ASP.NET application that has a requirement that the
user should be able to download all of the data that they have input
into the system and save it to a file on their local PC. Then at some
future time they should be able to upload it back to the web server and
continue working on it. (Don't ask me why they have to be able to do
this. Apparently the users are super paranoid about saving their data
to the server and want to be able to keep it on their local PC)
Anyway, here is my problem. I am not sure the best way to handle this.
I have a class structure where the root class is called UserCase.
UserCase holds all of their information, including other classes for
sub information including collections, etc. My original plan was to
use XMLSerialization to serialize UserCase to an XML file and then have
the user download the file to their PC. Then, later they could upload
that XML file back to the server and I could use de-serialization to
change it back to a UserCase object and they would be good to go.
However this has brought up a ton of related problems like the
following:
1. All of my classes inherit from XPBaseObject which is a 3rd party
component from DevExpress (www.devexpress.com) called Express
Persistent Objects. XPO is an object/relation mapper that hides the
database and makes coding a lot simpler. The problem is that
XPBaseObject does not support serialization. So I have had to take a
stab at implementing the IXMLSerializable interface myself. So far
that has been a nightmare.
2. How should the system handle it when changes are made to the web
site and a user uploads an old XML file that doesn't fit the structure?
3. How do I handle data integrity issues if data on the server changes
and the XML file is not in synch with the server?
4. Is there any good way to automate the upload/download process that I
described above? Or is there any way to make it easier?
Basically I am looking for some advice for a better way to solve the
above scenario. I have a web app where the user needs to be able to
download their data to their PC and then re-upload it at a future time.
It needs to be fairly secure and fairly simple for the user to do. It
also needs to be able to handle data integrity issues, file corruption
issues, etc. Any help or advice would be greatly appreciated.
Thanks,
Corey
user should be able to download all of the data that they have input
into the system and save it to a file on their local PC. Then at some
future time they should be able to upload it back to the web server and
continue working on it. (Don't ask me why they have to be able to do
this. Apparently the users are super paranoid about saving their data
to the server and want to be able to keep it on their local PC)
Anyway, here is my problem. I am not sure the best way to handle this.
I have a class structure where the root class is called UserCase.
UserCase holds all of their information, including other classes for
sub information including collections, etc. My original plan was to
use XMLSerialization to serialize UserCase to an XML file and then have
the user download the file to their PC. Then, later they could upload
that XML file back to the server and I could use de-serialization to
change it back to a UserCase object and they would be good to go.
However this has brought up a ton of related problems like the
following:
1. All of my classes inherit from XPBaseObject which is a 3rd party
component from DevExpress (www.devexpress.com) called Express
Persistent Objects. XPO is an object/relation mapper that hides the
database and makes coding a lot simpler. The problem is that
XPBaseObject does not support serialization. So I have had to take a
stab at implementing the IXMLSerializable interface myself. So far
that has been a nightmare.
2. How should the system handle it when changes are made to the web
site and a user uploads an old XML file that doesn't fit the structure?
3. How do I handle data integrity issues if data on the server changes
and the XML file is not in synch with the server?
4. Is there any good way to automate the upload/download process that I
described above? Or is there any way to make it easier?
Basically I am looking for some advice for a better way to solve the
above scenario. I have a web app where the user needs to be able to
download their data to their PC and then re-upload it at a future time.
It needs to be fairly secure and fairly simple for the user to do. It
also needs to be able to handle data integrity issues, file corruption
issues, etc. Any help or advice would be greatly appreciated.
Thanks,
Corey