-
Notifications
You must be signed in to change notification settings - Fork 0
MS_ASPNETWebService
nishi_74322014 edited this page Aug 3, 2026
·
1 revision
-
TOP > インフラストラクチャ > 通信技術 > HTTP > WebAPI
- ASP.NET Web API
- ASP.NET Web Service
- HttpClientの類の使い方
.NET Framework 登場時に利用可能となった SOAP Web サービス。
- 拡張子
.asmxのファイルで実装するため、「ASMX Web サービス」とも呼ばれる。 -
[WebService]/[WebMethod]属性を付けたクラス・メソッドが公開される。 - WSDL は
?WSDLを付けてアクセスすると自動生成される。
[WebService(Namespace = "http://tempuri.org/")]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}現在は WCF(MS_WCF.md)や ASP.NET Web API で
同等以上のことが可能なため選択しない。
補足(最新化): 選択しない理由を補足しておく。
- ASMX は .NET Framework 専用であり、 .NET Core 以降には存在しない(移植されていない)。
- Microsoft は .NET Framework 3.0 の WCF 登場時点で ASMX を「レガシー テクノロジ」と位置付けている。
- IIS 上でしかホストできない (ASP.NET Web API は OWIN でセルフホスト可能)。
既存の ASMX を .NET 8 以降へ移行する場合の選択肢は次のとおり。
移行先 適する状況 REST / ASP.NET Web API 呼び出し側も作り直せる場合(第一候補) gRPC 内部のサービス間通信で、性能を求める場合 CoreWCF 既存クライアントの SOAP 契約を変えられない場合 なお、
.asmxの既定の名前空間http://tempuri.org/を そのまま本番公開してしまう例が多い。 契約の一意性が損なわれるため、[WebService(Namespace = ...)]は必ず自組織のものに変更すること。
Tags: .NET開発, 通信技術, ASP.NET
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。