Служба Wcf с поддержкой SilverLight - не может отслеживать сеанс - PullRequest
2 голосов
/ 25 июня 2010

Я новичок в сервисах Silverlight и WCF. Я пытаюсь написать клиентское приложение, которое может манипулировать объектом на стороне сервера.

Моя проблема в том, что каждый раз, когда мой клиент Silverlight выполняет вызов службы, он систематически входит в конструктор

public SilverLightEnabledWcfService()
        {
        }

В приведенном ниже примере я просто хочу увеличить или уменьшить число в зависимости от активности клиента.

Как я должен сделать это правильно?

Я также пытался создать обычную клиентскую страницу ASP.net, и я получил тот же результат, то есть сервер не запоминает сеанс. Поэтому я не думаю, что проблема в моем клиенте, но я все равно рад опубликовать код, если это поможет.

Спасибо !!

using System;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using Count.Library;

namespace Count.WebApp
{
    [ServiceContract(Namespace = "")]
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class SilverLightEnabledWcfService
    {
        public SilverLightEnabledWcfService()
        {
        }

        private Class1 _class1;

        [OperationContract]
        public int Add1()
        {
            if (_class1 == null)
                _class1 = new Class1(0);
            _class1.Add1();
            return Value;
         }

        [OperationContract]
        public int Remove1()
        {
            if (_class1 == null)
                _class1 = new Class1(0);
            _class1.Remove1();
            return Value;
         }

        public int Value
        {
            get
            {
                return _class1.Count;
            }
        } 
    }
}

1 Ответ

1 голос
/ 25 июня 2010

Сеансы требуют wsHttpBinding, но это не поддерживается Silverlight.Однако есть обходные пути:

http://web -snippets.blogspot.com / 2008_08_01_archive.html

http://forums.silverlight.net/forums/t/14130.aspx

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