編集/序文: この回答は、ソフトウェア スタック全体の通信ではなく、プロセスとのユーザー インタラクションのみにWCF を使用すること、およびコア作業は長時間実行されるサービス自体によって行われることを前提としています。
はい、これは WCF で実行可能であり、おそらく適切なソリューションです。相互運用プロパティのセットを頻繁にクエリ/更新する長時間実行プロセッサ スレッドがあります (たとえば、完了率、作業中の項目を更新し、「一時停止」フラグなどを確認します)。 .)。これらのプロパティは、WCF インターフェイス メソッドによってクエリ/設定されます。
シングルトン パターンはこれに最適です。スレッドが正しくセットアップされている場合、ユーザーは長時間実行されるスレッド (または複数のスレッド) がチェックするいくつかのプロパティと対話します。
非常に高いレベルの観点から、プロセッサ クラスはおそらくコアで次のようになります (これは、それがどのように実行されるかの単なるモデルです。このように正確に作成しないでください。そうしないと、悪夢に見舞われます)。
// IWcfProcessor is the ServiceContract interface
// Processor runs as a singleton and does (or has a thread that does) the processing work
class Processor : IWcfProcessor
{
    public Processor()
    {
        new Thread(Process).Start();
    }
    public void Process()
    {
        while (Run)
        {
            // Do long-running process stuff, update some tables
            PercentDone += 0.1;
        }
    }
    public decimal PercentDone { get; set; }
    public bool Run { get; set; }
    /// WCF method defined in IWcfProcessor
    public void SetState(bool state)
    {
        Run = state;
    }
    /// WCF method defined in IWcfProcessor
    public decimal GetStatus()
    {
        return PercentDone;
    }
}
IWcfProcessor次に、Web またはアプリケーション エンドポイントからタッチポイントにフックできます。
  また、たとえば、1 人のユーザーが同時にインポート プロセスを開始/停止しようとした場合などに問題が発生する可能性はありますか?
スレッドの相互運用を正しく設定していれば、問題は発生しません。
  シングルトン パターンは、誰もが同じ単一のインポート プロセスで作業できるようにするためのアプローチですか?  
はい、これで完璧です。