4

独自の FSI セッションを持つ機能が必要な既存のアプリケーションがあります。標準の FSI セッションではなく、アプリケーションからのデータを FSI セッションに事前入力する機能が必要です。

たとえば。私のアプリ内で、既存のプロセスが発生します。データが作成され、FSI セッションを開始します。FSI セッションには、計算済みのデータがプリロードされます。

このようなことは可能ですか?

4

1 に答える 1

2

今日の最も正しい答えは、F# Compiler Servicesを使用することです。インタラクティブ サービスを使用すると、F# インタラクティブをアプリケーションに埋め込むことができます。

その他のオプション:

  1. データを有効な F# コードとしてフォーマットして FSI に実行するか、データを文字列としてシリアル化し、F# を使用して逆シリアル化することができます。この場合、Mathias Brandewinder による記事「Using FSI to execute F# code from a .NET app」が役立つ場合があります。
  2. データへのアクセスを提供する API を準備します。たとえば、.NET 4.0 以降で使用できるようになったMemoryMappedFileに基づいています。FSI セッションの開始直後にアセンブリへの参照を追加し ( FSI ディレクティブ#r を使用)、カスタム API を介してデータを取得します。
  3. WCF を使用して、2 つのプロセス間で通信します。Phillip Trelford からの回答を参照してください。
于 2013-01-13T13:14:53.883 に答える