У меня мало опыта работы с MVC, поэтому я учусь по ходу дела и сталкиваюсь с некоторыми камнями преткновения.
Я начал разрабатывать веб-приложение MVC и только что закончил форму, которая вызывает веб-сервис дляполучить список адресов и заполняет опции выбора для каждого адреса.
Это работает нормально, однако я развернул его на тестовых серверах, и когда я запускаю сайт, он работает, однако, если мой коллега из другого клиента переходит на страницу, он отображает список данных, которые я запустил.Каждый звонок на сайт должен быть индивидуальным, поэтому не уверены, почему эти данные видны кому-то еще?
Представление (index.cshtml)
namespace AddressLookupSite.Controllers
{
public class AssistedController : Controller
{
string postcode = "";
string street = "";
//model is the list of addresses to be returned to the user
private static AddressList model = new AddressList();
// GET: Assisted
public ActionResult Index()
{
//this may need to be index,models.
return View(model);
}
public ActionResult GetAddresses(string postcode)
{
if (postcode == null || postcode == "")
{
return RedirectToAction("/Index/");
}
//call Addresslookup web service
AddressLookupWeb ew = new AddressLookupWeb();
//extract address values from the XML returned from web service
XmlNode xml = ew.GetAddress(", , , , " + postcode);
foreach (XmlElement addressInfo in xml)
{
foreach (XmlElement teset in addressInfo["Addresses"])
{
//add each address item found to the list
model.listone.Add(new AddressResults { FullAddress = teset["fulladdress"].InnerText });
}
}
//return the list and model back to the index view
return View("Index", model);
}
}
Модель (AddressResults)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AddressLookupSite.Models
{
public class AddressResults
{
public string FullAddress { get; set; }
}
}
Модель (AddressResults)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AddressLookupSite.Models
{
public class AddressList
{
public List<AddressResults> listone = new List<AddressResults>();
}
}
Представлениедовольно стандартный и обращается к модели, выводя содержимое модели для выбора, он также использует некоторый JavaScript для выполнения некоторого базового кода.
Проблема определенно на стороне сервера, она не должна позволять другому пользователю иметь возможностьперехватить форму, тем более что в форму позже будут включены личные данные.Это заставляет меня задуматься: если бы я занимался заполнением формы, а кто-то другой открыл страницу, то тогда бы они получили данные от контроллера, когда это не должно происходить так.
Любой совет оченьпризнателен, как я уже сказал, я новичок в этом и занимался только разработкой внутренних приложений для запуска процессов и т. д.