Другим вариантом является перенос JSON-демпинга в свой класс:
import json
class FileItem:
def __init__(self, fname):
self.fname = fname
def __repr__(self):
return json.dumps(self.__dict__)
Или, что еще лучше, подклассификация класса FileItem из класса JsonSerializable
:
import json
class JsonSerializable(object):
def toJson(self):
return json.dumps(self.__dict__)
def __repr__(self):
return self.toJson()
class FileItem(JsonSerializable):
def __init__(self, fname):
self.fname = fname
Тестирование:
>>> f = FileItem('/foo/bar')
>>> f.toJson()
'{"fname": "/foo/bar"}'
>>> f
'{"fname": "/foo/bar"}'
>>> str(f) # string coercion
'{"fname": "/foo/bar"}'
Моя первая мысль - это. Я не знаю, работало ли это, но только потребовалось бы несколько минут для попытки.
Создают два веб-сайты IIS по тому же серверу. Первый сайт связывается с общедоступным IP, но второй сайт связывается с частным IP. Обе точки к той же папке в файловой системе.
Ваши пользователи VPN будут получать доступ через частный IP, таким образом, можно будет установить "по всему сайту" правило о том сайте, который будет только влиять на пользователей VPN. Это должно работать почти на любую установку IIS6, включая регулировку пропускной способности.
Стоящий попытки, по крайней мере.
- Редактирование: Попробованный это и это работали безупречно.