.NET 4 WCF を使用して、次の REST フル Web サービスを公開しています
[OperationContract]
[WebGet]
void Test();
これは開発者向けのプログラムなので、REST フル HTTP 開発者だけでなく、WSDL を使用したい開発者もサポートしたいと考えています。私のアプローチは、サービスを2 回宣言して、従来の WSDL と REST エンドポイントの両方を公開することです。
Web.config
<serviceHostingEnvironment aspNetCompatibilityEnabled="True" multipleSiteBindingsEnabled="true" >
<serviceActivations >
<add relativeAddress ="~/KeyService.svc" service="SecretDistroMVC3.Services.KeyService3"/>
</serviceActivations>
</serviceHostingEnvironment>
Global.asax
void Application_Start(object sender, EventArgs e)
{
// The following enables the WCF REST endpoint
//ASP.NET routing integration feature requires ASP.NET compatibility. Please see
// 'http://msdn.microsoft.com/en-us/library/ms731336.aspx
RouteTable.Routes.Add(new ServiceRoute("KeyService3", new WebServiceHostFactory(), typeof(KeyService3)));
質問
サービスを 2 つの場所で宣言するのは好きではないので、config で両方のエンドポイントを構成するか、または で両方のエンドポイントを構成するにはどうすればよいApplication_Start
ですか?
例