Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
лучший способ сохранения данных в веб-службе .NET
У меня есть веб-служба, которая запрашивает данные из этого файла json, но я не хочу, чтобы веб-служба каждый раз обращалась к этому файлу. Я думаю, что, возможно, я могу хранить данные где-то еще (возможно, в памяти), чтобы веб-служба могла просто получить данные оттуда в следующий раз, когда она попытается запросить те же самые данные. Я вроде бы понимаю, что нужно сделать, но я просто не знаю, как это сделать на самом деле. Как мы сохраняем данные в веб-сервисе?
Обновление: оба предложения, кэширование и использование статических переменных, выглядят хорошо. Может быть, мне стоит использовать оба варианта, чтобы сначала посмотреть на один, а если его там нет, то использовать второй, если его там тоже нет, тогда я посмотрю на файл json.
Продолжая идею Ice^^Heat, вы можете подумать о том, где бы вы могли кэшировать-либо кэшировать содержимое файла json в кэше приложения, например:
Context.Cache.Insert("foo", _
Foo, _
Nothing, _
DateAdd(DateInterval.Minute, 30, Now()), _
System.Web.Caching.Cache.NoSlidingExpiration)
А затем генерировать результаты, которые вам нужны от этого на каждом ударе. Кроме того вы можете кэшировать выходные данные webservice в определении функции:
<WebMethod(CacheDuration:=60)> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
Информация, собранная из XML стратегий кэширования веб-служб .
ASP.NET кэширование работает так же хорошо с веб-службами, поэтому вы можете реализовать обычное кэширование, как описано здесь: http://msdn.microsoft.com/en-us/library/aa478965.aspx
Если ваши данные JSON не будут часто меняться , я думаю, что самый простой способ кэшировать их - это использовать какую - нибудь статическую коллекцию-возможно, DataTable.
Во-первых, проанализируйте ваши данные JSON в System.Data.DataTable и сделайте их статическими в вашем классе веб-службы. Затем откройте статический объект. Данные должны оставаться в кэше до тех пор, пока IIS не восстановит пул приложений.
public class WebServiceClass
{
private static DataTable _myData = null;
public static DataTable MyData
{
get
{
if (_myData == null)
{
_myData = ParseJsonDataReturnDT();
}
return _myData;
}
}
[WebMethod]
public string GetData()
{
//... do some stuff with MyData and return a string ...
return MyData.Rows[0]["MyColumn"].ToString();
}
}