-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Description
Consider updating the protocol to support raw C# input from clients. This will make it possible for JS clients to communicate over the new WebSocket provider.
The idea is simple: Any client can send a query as a string containing a C# code snippet, with the following constraints.
- MUST NOT exceed a maximum length (an optional security constraint specified by the service).
- MUST NOT contain any { } or ; characters (except in strings and comments).
- MUST contain an unambiguous placeholder for the query source; e.g., {{SOURCE}}
- MAY contain any number of
usingstatements before the query. - MAY contain closures via unambiguous identifiers; e.g., from x in {{OBSERVABLE:myClosure}}
- consider other constraints...
Consider using Roslyn on the server-side to parse queries into expression trees and then treat them as if they were normal deserialized expression trees.