C# 클래스 Zetbox.Server.ZetboxService

Implements the main service interface.
상속: IZetboxService, IDisposable
파일 보기 프로젝트 열기: daszat/zetbox

공개 메소드들

메소드 설명
Dispose ( ) : void
FetchRelation ( System.Guid version, System.Guid relId, int serializableRole, int parentObjID ) : byte[]

Fetches a list of CollectionEntry objects of the Relation relId which are owned by the object with the ID parentObjID in the role serializableRole.

GetBlobStream ( System.Guid version, int ID ) : Stream

Gets the content stream of the given Document instance ID

GetObjects ( System.Guid version, SerializableExpression query ) : byte[]

Returns a list of objects from the datastore, as requested by the query.

InvokeServerMethod ( System.Guid version, SerializableType type, int ID, string method, SerializableType parameterTypes, byte parameterArray, byte changedObjectsArray, ObjectNotificationRequest notificationRequests, byte &retChangedObjects ) : byte[]
SetBlobStream ( BlobMessage blob ) : BlobResponse

Sets the content stream of the given Document instance ID

SetObjects ( System.Guid version, byte msgArray, ObjectNotificationRequest notificationRequests ) : byte[]

Puts a number of changed objects into the database. The resultant objects are sent back to the client.

ZetboxService ( IServerObjectHandlerFactory sohFactory, Func ctxFactory, InterfaceType iftFactory, IPerfCounter perfCounter, ZetboxStreamReader readerFactory, ZetboxStreamWriter writerFactory ) : System

비공개 메소드들

메소드 설명
DebugLogIdentity ( ) : void
GetListOf ( System.Guid version, SerializableType type, int ID, string property ) : byte[]
ReadObjects ( Stream msg, IZetboxContext ctx ) : List
SendAuxiliaryObjects ( ZetboxStreamWriter sw, HashSet auxObjects, HashSet sentObjects, bool eagerLoadLists ) : void

Sends a list of auxiliary objects to the specified ZetboxStreamWriter while avoiding to send objects twice.

SendObjects ( IEnumerable lst, bool eagerLoadLists ) : MemoryStream

Serializes a list of objects onto a MemoryStream.

메소드 상세

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

FetchRelation() 공개 메소드

Fetches a list of CollectionEntry objects of the Relation relId which are owned by the object with the ID parentObjID in the role serializableRole.
public FetchRelation ( System.Guid version, System.Guid relId, int serializableRole, int parentObjID ) : byte[]
version System.Guid Current version of generated Zetbox.Objects assembly
relId System.Guid the requested Relation
serializableRole int the parent role (1 == A, 2 == B)
parentObjID int the ID of the parent object
리턴 byte[]

GetBlobStream() 공개 메소드

Gets the content stream of the given Document instance ID
public GetBlobStream ( System.Guid version, int ID ) : Stream
version System.Guid Current version of generated Zetbox.Objects assembly
ID int ID of an valid Document instance
리턴 Stream

GetObjects() 공개 메소드

Returns a list of objects from the datastore, as requested by the query.
public GetObjects ( System.Guid version, SerializableExpression query ) : byte[]
version System.Guid Current version of generated Zetbox.Objects assembly
query SerializableExpression A full LINQ query returning zero, one or more objects (FirstOrDefault, Single, Where, Skip, Take, etc.)
리턴 byte[]

InvokeServerMethod() 공개 메소드

public InvokeServerMethod ( System.Guid version, SerializableType type, int ID, string method, SerializableType parameterTypes, byte parameterArray, byte changedObjectsArray, ObjectNotificationRequest notificationRequests, byte &retChangedObjects ) : byte[]
version System.Guid
type Zetbox.API.SerializableType
ID int
method string
parameterTypes Zetbox.API.SerializableType
parameterArray byte
changedObjectsArray byte
notificationRequests Zetbox.API.ObjectNotificationRequest
retChangedObjects byte
리턴 byte[]

SetBlobStream() 공개 메소드

Sets the content stream of the given Document instance ID
public SetBlobStream ( BlobMessage blob ) : BlobResponse
blob Zetbox.API.BlobMessage Information about the given blob
리턴 Zetbox.API.BlobResponse

SetObjects() 공개 메소드

Puts a number of changed objects into the database. The resultant objects are sent back to the client.
public SetObjects ( System.Guid version, byte msgArray, ObjectNotificationRequest notificationRequests ) : byte[]
version System.Guid Current version of generated Zetbox.Objects assembly
msgArray byte a streamable list of s
notificationRequests Zetbox.API.ObjectNotificationRequest A list of objects the client wants to be notified about, if they change.
리턴 byte[]

ZetboxService() 공개 메소드

public ZetboxService ( IServerObjectHandlerFactory sohFactory, Func ctxFactory, InterfaceType iftFactory, IPerfCounter perfCounter, ZetboxStreamReader readerFactory, ZetboxStreamWriter writerFactory ) : System
sohFactory IServerObjectHandlerFactory
ctxFactory Func
iftFactory Zetbox.API.InterfaceType
perfCounter IPerfCounter
readerFactory ZetboxStreamReader
writerFactory ZetboxStreamWriter
리턴 System