要するに、.Net Frameworkアプリケーション(Windowsフォームなど)でRESTまたはSOAP APIサーバーを提供するための最良のmehodを探しています - 場合によっては管理者権限なしC#のHttpListenerとGriffin.WebServerの代わりに
可能なポータブルcsharpアプリケーションでWebベースのRESTまたはSOAP APIを提供する最も良い方法は現在ですか? 基本的に私は基本的なhttp標準をサポートしている(例えばExpect:100-continueなど)、同時に私のcsharpプログラムのクラスをインスタンス化できるものが必要です(perfomranceと使いやすさの理由)。
マイクロソフトの方法では、IISとおそらくASPを使用するか、httplistenerを使用します。 IISはポータブルな方法で実行することはできず、多くのインストール手順/システム管理ベースの作業が必要です。一方、httlistenerはWebサーバーに近いものではないので、私は自分自身ですべての標準Webサーバーコマンドを実装する必要があります。私はここ数年以来、このトピックの周りを探しています
、一つの例では、[古い質問] Alternative to HttpListener?
残念ながら、この1つは中止のプロジェクトにリンクし、この質問です。
アイデア?
[編集]この質問は、C#だけでなく.NET Framework 2-4.5も対象としています。その結果は、例えば、 Windowsフォーム、Windowsサービス、およびコマンドラインアプリケーション。
現在、私はHTTPListenerに基づいたスケルトンWebサーバーを使用しているため、リクエストの解析、回答の書式設定、および特別なhttpコマンドへの反応(私は決して終わりのない仕事のようです)を実装する必要があります。 https://www.codeproject.com/Articles/17071/Sample-HTTP-Server-Skeleton-in-C
ヒットを見つけるにはgoogleを使用してください。 ".net embeddable web server"はNancy、NHttp、Kayak、EmbedIOを示しています。 Node.jsは大きな犬なので、Googleの "node.js .net integration"もしたいです。 Out pops edge.js –
賞金が終わる前に答えを書くようにしてください; – Harry
RESTとSOAPはまったく違った獣です。 RESTは...ほとんど何もないのでHttpListenerで十分です。完全な吹き飛ばされたSOAP(およびWSDL)は複雑で、ちょっと古いものです。したがって、2つの要件は何らかの形で矛盾しています。 HttpListenerは管理者権限を必要としません。たとえば、サーバーを外部に開くか、ローカルホスト用であるか(https://stackoverflow.com/questions/223063/how-can-i-create-an-httplistener-class-on-a) -random-port-in-c /)? localhost以上のものが必要な場合は、とにかくファイアウォールを開く必要があります。 –