ASP.NET C # MVC Лучший способ хранить много информации / ценности без использования базы данных - PullRequest
0 голосов
/ 11 мая 2018

Я ищу подход к решению моей проблемы (в общем, новичок здесь), поэтому в основном я создаю страницу, на которой пользователь может ввести свои спецификации компьютера и отправить его для создания отчета в формате PDF (в основном, содержащего свои спецификации компьютера с нашим логотипом). Дело в том, что я не хочу хранить введенные пользователем значения / данные в базе данных. Есть ли другой подход? Я думал создать файл PDF напрямую и сохранить его на нашем жестком диске, и в следующий раз они смогут получить к нему доступ напрямую, но в долгосрочной перспективе это кажется дорогим.

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 11 мая 2018

Вы можете хранить свои данные в файлах XML, используя сериализацию XML.

Проверить следующий pseudo код:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Xml.Linq;
using System.Xml.Serialization;

namespace XmlMvcApplication1.Controllers
{
    [Serializable]
    public class TestData
    {
        public string id { get; set; }
        public string Name { get; set; }
    }

    public class HomeController : Controller
    {
        public ActionResult SaveItems(string id, string name)
        {
            TestData obj = new TestData();
            obj.id = id;
            obj.Name = name;
            string file = Server.MapPath("~/Data/") + "\\" + id + ".xml";
            if (System.IO.File.Exists(file))
                System.IO.File.Delete(file);
            FileStream fs = new FileStream(file, FileMode.CreateNew);
            //store into xml file
            XmlSerializer x = new XmlSerializer(typeof(TestData));
            x.Serialize(fs, obj);
            fs.Flush();
            fs.Close();

            return View();
        }

        public ActionResult GetItems(string id)
        {
            string file = Server.MapPath("~/Data/") + "\\" + id + ".xml";
            if (System.IO.File.Exists(file))
            {
                XDocument xml = XDocument.Load(file);

                var xmlSerializer = new XmlSerializer(typeof(TestData));
                var nodes = xml.Descendants("TestData")
                .Select(rr => xmlSerializer.Deserialize(rr.CreateReader()) as TestData);
                var deSerializedData = nodes.First();
                //YOUR CODE HERE
            }

            return View();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...