Нужно ли размещать ссылку на веб-сервис в ASP.NET?

Для python 3 попробуйте что-то вроде этого:

import urllib.request
urllib.request.urlretrieve('http://crcv.ucf.edu/THUMOS14/UCF101/UCF101/v_YoYo_g19_c02.avi', "video_name.avi")

Он загрузит видео в текущий рабочий каталог

Мне нужна помощь от ЗДЕСЬ

10
задан BeaverProj 9 January 2009 в 19:58
поделиться

4 ответа

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

Вот пример класса веб-сервиса, который можно использовать для содержания ссылок на экземпляры веб-сервиса. Этот одиночный элемент ленив и ориентирован на многопотоковое исполнение. Рекомендуется, что, если Вы делаете свои одиночные элементы ленивыми, они также сохранены ориентированными на многопотоковое исполнение следующим та же логика. Чтобы узнать больше, как сделать это, прочитайте статью C# In Depth о Реализации Одиночных элементов.

Также имейте в виду, что можно столкнуться с проблемами с веб-сервисами WCF. Я рекомендовал бы читать на статье методов управления экземпляром WCF, конкретно одноэлементный раздел, для получения дополнительной информации.

public static class WS
{
    private static object sync = new object();
    private static MyWebService _MyWebServiceInstance;

    public static MyWebService MyWebServiceInstance
    {
        get
        {
            if (_MyWebServiceInstance == null) 
            {
              lock (sync)
              {
                if (_MyWebServiceInstance == null)
                {
                    _MyWebServiceInstance= new MyWebService();
                }
              }
            }
            return _MyWebServiceInstance;
        }
    }
}

И затем когда необходимо получить доступ веб-сервису, можно сделать это:

WS.MyWebServiceInstance.MyMethod(...)

или

var ws = WS.MyWebServiceInstance;
ws.MyMethod(...)

Я успешно использовал этот шаблон на нескольких проектах, и он работал хорошо, но как tvanfosson упоминания в комментариях ниже, еще лучшая стратегия состояла бы в том, чтобы использовать платформу DI для управления экземплярами веб-сервиса.

23
ответ дан 3 December 2019 в 16:31
поделиться

Я думаю, что DataService наследовался, Располагают от Компонента.

1
ответ дан 3 December 2019 в 16:31
поделиться

От объектов, которые реализуют IDispose, нужно избавиться вручную для помощи сборщику "мусора".

Если Вы возражаете, недолгое использование a using блок. Для объектов, которые могут быть сохранены, гарантируют, чтобы они возразили, что это сохраняет их, избавляется от них, когда это также расположено.

1
ответ дан 3 December 2019 в 16:31
поделиться

что Вы пытаетесь выполнить здесь?

Если бы Ваши взволнованные о производительности, то я волновался бы больше о скорости отклика сервера, размещающего веб-сервис и скорость сети, поскольку они могут существенно влиять на отрезок времени, необходимо ожидать веб-сервиса, звонят для завершения (если его асинхронное).

Примеры на MSDN не звонят, 'Располагают' и ее довольно очевидное, что сборщик "мусора" сделает свое задание, поэтому если Ваша работа над системой реального времени, которая должна обработать более чем 100 000 записей в памяти каждую секунду, затем возможно, Вы не должны придумывать способ расположить ресурсы или управлять памятью.

0
ответ дан 3 December 2019 в 16:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: