我已经定义了一些我想在应用引擎上的 protorpc 服务中使用的消息类型,但是该服务会引发错误,因为它正在查找作为方法的成员,而不是 messages.Field 实例。有没有办法解决这个问题?因为在消息上定义方法非常有用。在我的示例中,我有一条凭据消息,并且我在消息上定义了一种方法来检查凭据是否正确。我知道我可以将这些方法定义为函数,但它看起来不太合乎逻辑。
问问题
131 次
1 回答
1
ProtoRPC 的目标之一是尽可能忠实于协议缓冲区的实现。使用 .proto 表示法编写协议缓冲区不允许定义方法。因此,如果可以定义方法,您最终会得到无法正确表示为 .proto 文件的类。顺便说一句,希望它能让开发人员明确区分他们的消息类和客户端/服务器功能。
我们还付出了很多努力来确保如果我们需要进行未来的更改(例如添加对协议缓冲区机制的支持),那么在不破坏与旧版本的兼容性的情况下更容易做到这一点。因为它旨在内置到 App Engine 运行时中,所以该库会在 App Engine 的新版本发布时自动更新,而不是在开发人员准备升级时自动更新。现在限制可以添加到消息中的内容允许图书馆在未来的发展中具有更大的灵活性(实际上,以图书馆用户为代价)。
于 2013-06-17T16:52:40.523 回答