每当我尝试传递带有第二个对象(aClass)的属性的对象(bClass)时,都会得到:
不可持久化(“不可持久化数据:认为不安全的类amodule.bClass的实例”)
aClass是可复制的,没有胶凝,而bClass不是。
这是我的密码:
server.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)amodule.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.baClass和它可以包含的所有对象是否都有呢?因为打开包含的对象会让人头疼,可能会变成脏代码.
发布于 2012-05-31 16:05:31
使用应使用setUnjellyableForClass
setUnjellyableForClass(bClass, bClass) 让bClass从可复制的地方继承。
看看传递复杂类型
https://stackoverflow.com/questions/9056416
复制相似问题