每当我尝试传递具有第二个对象(bClass)的属性的对象(aClass)时,我得到:
Unpersistable('Unpersistable 数据:类 amodule.bClass 的实例被认为不安全')
aClass 是可复制的且不可复制的,而 bClass 则不是。
这是我的代码:
服务器.py:
from twisted.application import internet, service
from twisted.spread import pb
from amodule import PBServer
application = service.Application("Test app")
# Prepare managers
clientManager = internet.TCPServer(8282, pb.PBServerFactory(PBServer()));
clientManager.setServiceParent(application)
if __name__ == '__main__':
print "Run with twistd"
import sys
sys.exit(1)
一个模块.py:
from twisted.spread import pb
class bClass:
"""This is not a Copyable class
"""
class aClass(pb.RemoteCopy, pb.Copyable):
b = bClass()
pb.setUnjellyableForClass(aClass, aClass)
class PBServer(pb.Root):
def remote_echo(self, a):
return a.b
无论如何要解开 aClass 和它可以包含的所有对象吗?因为解冻包含的对象令人头疼,并且可能变成脏代码......