ASP.NET 2.0でREST Webサービスを作成可能
-
09-06-2019 - |
質問
ASP.NET 2.0を使用してREST Webサービスを作成することはできますか?私が見つけた記事やブログ エントリはすべて、ASP.NET で REST Web サービスを作成するには WCF を備えた ASP.NET 3.5 が必要であることを示しているようです。
ASP.NET 2.0 で REST Web サービスを作成できる場合は、例を提供していただけますか。
ありがとう!
解決
実際にasp.net 2.0でREST Webサービスを作成しました。Web ページを作成するのとまったく変わりません。
これを実行したとき、asmx ファイルで実行する方法を調べる時間があまりなかったので、標準の aspx ファイルで実行しました。この方法で実行すると余分なオーバーヘッドが発生することはわかっていますが、最初のリビジョンとしては問題ありませんでした。
protected void PageLoad(object sender, EventArgs e)
{
using (XmlWriter xm = XmlWriter.Create(Response.OutputStream, GetXmlSettings()))
{
//do your stuff
xm.Flush();
}
}
/// <summary>
/// Create Xml Settings object to properly format the output of the xml doc.
/// </summary>
private static XmlWriterSettings GetXmlSettings()
{
XmlWriterSettings xmlSettings = new XmlWriterSettings();
xmlSettings.Indent = true;
xmlSettings.IndentChars = " ";
return xmlSettings;
}
始めるにはこれで十分です。後でさらに投稿してみます。
また、Web サービスに基本認証が必要な場合は実行できますが、Active Directory を使用していない場合は手動で行う必要があります。
他のヒント
ASP.NET を使用して RESTful Web サービスを作成することは確かに可能です。新しいプロジェクトを開始する場合は、WCF を使用した RESTful Web サービスの作成を検討することをお勧めします。3.5 .NET Framework では、通常の古い SOAP エンドポイントとともに RESTful エンドポイントを指定し、同じサービスを提供できます。
実際に行う必要があるのは、以下を呼び出すエンドポイント動作を有効にすることだけです。 <webHttp />
WCF を使用した RESTful Web サービスの作成に関する優れたシリーズを次に示します。
http://blogs.msdn.com/bags/archive/2008/08/05/rest-in-wcf-blog-series-index.aspx
確かに、ASP.NET 2.0 で RESTful Web サービスを作成できます。 例, ただし、.NET 3.5 の WCF で提供されるような、すべてのロバの作業を行う高レベルの API はありません。
もちろん、いつでも自分で仕様を実装できます。それをサポートするものが何も組み込まれていないだけです。Nathan Lee のソリューションを使用する場合は、aspx ではなく http ハンドラー (.ashx) として実行してください。彼のコードをコピーして新しいハンドラー ファイルに貼り付けることができます。
IHTTPHandlers を使用して仕様を実装することで、RESTful Web サービスを簡単に実行できます。
ASP.Net MVC の使用も確認してください。私のブログでこれについていくつかの記事を書きました。
http://ショルダーオブジャイアンツ.co.uk/ブログ/
ASP.Net MVC を使用した RESTful Web サービスの作成シリーズを探してください。
私はまだ使い始めたばかりですが、これまで見てきた限りでは、2.0 は SOAP を前提としています。
次を使用して RESTful サービスを作成できます
1)WCFレストサービス2)ASP.NET Web API
RESTful サービスに関心がある場合は、ASP.NET Web API を使用する必要があります。ただし、SOAP Web サービスと RESTful の両方をサポートするサービスが必要な場合は、WCF REST が良い選択になります。
あるものと別のものについて議論する記事がいくつかあります。これ 記事 役立つかもしれません。