Skip to content

Protocol: C# Script Input #22

@RxDave

Description

@RxDave

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 using statements 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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions