Может ли silverlight обнаруживать или взаимодействовать между экземплярами браузера? - PullRequest
4 голосов
/ 01 мая 2010

Пользователь запускает приложение silverlight в своем браузере, перейдя по указанному URL-адресу.

Затем пользователь открывает другой браузер и запускает то же приложение Silverlight, перейдя по тому же URL.

Может ли второй экземпляр приложения обнаружить, что на этом же компьютере уже запущен экземпляр?

Может ли он определить, работают ли оба приложения в одном и том же экземпляре браузера?

Я ожидал, что ответ будет "нет", но подумал, что я все равно задам его. В противном случае я считаю, что мне нужно будет настроить веб-сервис, чтобы каждый экземпляр регистрировался и отправлял запросы другим экземплярам с того же IP-адреса. это звучит разумно?

Ответы [ 3 ]

6 голосов
/ 01 мая 2010

Я думаю, вы можете искать LocalMessageSender и LocalMessageReceiver . Я считаю, что это новые классы в Silverlight 3, позволяющие двум приложениям Silverlight, работающим на одном локальном компьютере, обмениваться данными.

Подробнее: Связь между локальными приложениями на основе Silverlight (msdn)

5 голосов
/ 01 мая 2010

Это будет работать, я сделал это сам. Этот код с сайта Microsoft демонстрирует, как настроить «приемник LocalMessage». Если он выдает ошибку, то это потому, что другой экземпляр приложения Silverlight уже запущен.

    public Receiver()
    {
        InitializeComponent();

        LocalMessageReceiver messageReceiver =
            new LocalMessageReceiver("receiver",
            ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
        messageReceiver.MessageReceived += messageReceiver_MessageReceived;
        try
        {
            messageReceiver.Listen();
        }
        catch (ListenFailedException)
        {
            output.Text = "Cannot receive messages." + Environment.NewLine +
                "There is already a receiver with the name 'receiver'.";
        }
    }
0 голосов
/ 01 мая 2010

Я думаю, что вы правы, вы не можете сделать это в разных приложениях, но вы можете сделать это в одном экземпляре браузера, используя куки или Изолированное хранилище .

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