Я новичок в WCF и занимаюсь различными секциями, но все еще не нашел того, чего в конечном итоге хочу. Я хочу создать сервер: мой серверный объект завершен вместе с контрактами на данные в формате:
public class SmartShopService : SmartShopInterface
{
private Shopper sh;
private List<ShoppingTripEvaluation> bestTrips;
public SmartShopService() {
sh = new Shopper();
bestTrips = new List<ShoppingTripEvaluation>();
}
// (Various methods go here)
}
Клиент - это страница ASP.NET, которая выглядит следующим образом:
public partial class Garfield : System.Web.UI.Page {
static GarfieldService.SmartShopInterfaceClient client = new GarfieldService.SmartShopInterfaceClient();
protected void Page_Load(object sender, EventArgs e) {
}
[WebMethod]
public static bool SomeMethod() {
}
[WebMethod]
public static bool SomeMethod2() {
}
}
Теперь на этой странице есть множество форм. Например, предположим, что клиент должен найти самый быстрый маршрут между A и B. Он сохраняет все возможные пути в переменной List на сервере. Расчеты выполняются одним нажатием кнопки на клиенте. Затем другая кнопка может отображать информацию (допустим, что она отображает куски за раз - пользователь может выбрать просмотр 25 лучших, 50 лучших, 100 лучших результатов и т. Д.).
Проблема, с которой я столкнулся здесь: предположим сценарий
Пользователь А оптимизирует результат -> Сервер хранит результаты в переменной серверной части.
Пользователь B приходит и оптимизирует результат -> Сервер теперь содержит результат пользователя B.
Пользователь А просматривает свои данные - но он фактически просматривает данные пользователя Б !!!
В конечном итоге я хочу, чтобы каждый человек, входящий на страницу, имел уникальный сервисный объект, специфичный для него до момента, когда он покинет страницу.
Спасибо.