2

次のように、web.config でエンドポイントを定義することと、global.asax (サービス用) にルートを登録することの違いは何ですか。

protected void Application_Start(object sender, EventArgs e)    
{    
    RouteTable.Routes.Add(
        new ServiceRoute(
            "", 
            new WebServiceHostFactory(), 
            typeof(PersonService)
        )
    );    
}
4

1 に答える 1

1

ランタイムに関する限り、エンドポイントは同じです。ただし、IIS がホストするサービスの場合、ルートを使用しない場合、エンドポイント アドレスには常に .svc が含まれます (例: http://your-computer/app/service.svc/endpoint1 )一部の人々は、特に .svc が純粋なURLに属さない REST サービスの場合、それを好まない。

ルートを使用することの欠点は、ASP.NET パイプラインを使用する必要があることです。これは、一部のサービスでは問題になります (IIRC ではパフォーマンスがわずかに低下し、既定では WCF サービスでは許可されません。明示的に許可する必要があります。 ASP.NET 互換モード)。

于 2011-05-30T21:24:54.817 に答える