首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用透视图代理传递多个对象(复杂类型)

使用透视图代理传递多个对象(复杂类型)
EN

Stack Overflow用户
提问于 2012-01-29 20:20:43
回答 1查看 628关注 0票数 2

每当我尝试传递带有第二个对象(aClass)的属性的对象(bClass)时,都会得到:

不可持久化(“不可持久化数据:认为不安全的类amodule.bClass的实例”)

aClass是可复制的,没有胶凝,而bClass不是。

这是我的密码:

server.py:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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和它可以包含的所有对象是否都有呢?因为打开包含的对象会让人头疼,可能会变成脏代码.

EN

回答 1

Stack Overflow用户

发布于 2012-05-31 16:05:31

使用应使用setUnjellyableForClass

代码语言:javascript
复制
setUnjellyableForClass(bClass, bClass) 

让bClass从可复制的地方继承。

看看传递复杂类型

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9056416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档