Я использую метод jQuery $ .ajax для отправки и получения данных в службу REST. Некоторые URL-адреса, которые я предоставляю методу $ .ajax, требуют кодирования пробелов и других специальных символов.
Проблема заключается в браузерах Chrome, Safari (Webkit) и Internet Explorer. Firefox POST ' {private bool isDisposed = false; ~ Test () {Dispose (false); } ...
Предполагая, что это традиционный шаблон Dispose (взятый из devx, но встречается на многих веб-сайтах)
class Test : IDisposable
{
private bool isDisposed = false;
~Test()
{
Dispose(false);
}
protected void Dispose(bool disposing)
{
if (disposing)
{
// Code to dispose the managed resources of the class
}
// Code to dispose the un-managed resources of the class
isDisposed = true;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
}
Я не понимаю, почему мы вызываем GC.SupressFinalize (this)
. Это требует, чтобы я написал свое собственное управление управляемыми ресурсами, включая обнуление моих ссылок? Должен признать, я немного растерялся. Может ли кто-нибудь пролить свет на эту закономерность?
В идеале я хотел бы только избавиться от моих неуправляемых ресурсов и позволить сборщику мусора выполнять управляемый сбор самостоятельно.
На самом деле, я даже не знаю, почему мы указываем финализатор. В любом случае, кодер должен сам звонить, не так ли? Если это просто резервный механизм, я бы его удалил.