Я решил этот запрос, это было просто. Просто отключите ту функцию модели, которую вы хотите переопределить, а затем добавьте функцию, она будет работать. Например, если вы хотите добавить пользовательский / обновить API на модель, вам нужно сделать.
_Model.disableRemoteMethodByName('update', false);
А затем добавьте новый удаленный метод с / update url, он будет работать. Потому что, если вы не отключите удаленную функцию модели и не создадите / обновите, она все равно будет вызывать встроенный метод / метод обновления модели, а не ваш метод custom / update.
Нет нет эквивалента. Есть ли конкретная причина почему WeakReference
не сделает задания?
Вот подобный вопрос Вашему:
Почему.NET не имеет SoftReference, а также WeakReference, как Java?
В дополнение к Кэшу ASP.NET существует Блок Программы кэширования от группы Методов и Microsoft Patterns.
Возможно, класс Кэша ASP.NET (Система. Сеть. Кэширование. Кэш), помогают, мог бы достигнуть того, что Вы хотите? Это автоматически удаляет объекты, если память понижается:
Вот статья, которая показывает, как использовать класс Кэша в приложении форм окон.
Кэш ASP.NET дает Вам чувствительное к памяти поведение, которое Вы хотите с недостатком, что всему нужен уникальный ключ. Однако необходимо смочь держать WeakReference к объекту, который Вы поместили в кэш ASP.NET. Сильная ссылка кэша будет держать GC в страхе, пока кэш не решит, что это должно быть очищено к свободной памяти. WeakReference предоставляет Вам доступ к объекту, не делая поиска с ключом кэша.
Foo cachedData = new Foo();
WeakReference weakRef = new WeakReference( cachedData );
HttpRuntime.Cache[Guid.NewGuid().ToString()] = cachedData;
...
if ( weakRef.IsAlive )
{
Foo strongRef = weakRef.Target as Foo;
}
Вы могли создать класс SoftReference путем расширения WeakReference вроде
class SoftReference : WeakReference
{
public SoftReference( object target ) : base( target )
{
HttpRuntime.Cache[Guid.NewGuid().ToString()] = target;
}
}
Необходимо было бы также переопределить метод set на Цели, чтобы удостовериться, что любая новая цель входит в кэш.