5

wcf restful サービスを既存の asp.net 4.0 Web サイト (mvc ではない) に追加しようとしています。既存のアプリ/ウェブサイトに追加する際のチュートリアルを見つけるのに苦労しています。どこでも、新しいプロジェクトの作成に関するメモがあります (wcf restful テンプレートを使用)。基本的な手順は何ですか? 私は.net 4.0を使用しているので、.svcファイルなしでこれを行うことはできますか? あなたが私に向けることができるチュートリアルはありますか?

これまでのところ、このチュートリアルhttp://wwwに示すように、サービス コントラクトを定義し、webinvoke/webget 属性を使用する IService.cs および Service.cs クラスを追加し、global.asax にルートを追加し、web.cong にサービス定義を追加しようとしました。 .codeproject.com/Articles/255684/Create-and-Consume-RESTFul-Service-in-NET-Frameworしかし、localhost/restservice を指すと、404 not found が表示されます。

更新:これは私の設定ファイルにあるものです。既存の wcf 石鹸ベースのサービスであることに注意してください。

<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="migrationServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="migrationHttpBinding" maxBufferSize ="104857600" maxReceivedMessageSize="104857600"/>
      </basicHttpBinding>
    </bindings>
    <services>
      <service name ="Site.Web.WebService.MigrationService" behaviorConfiguration="migrationServiceBehavior">
        <endpoint binding="basicHttpBinding"
                  bindingConfiguration="migrationHttpBinding"
                  contract="Site.Web.WebService.IMigrationService"/>
      </service>
    </services>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
  </system.serviceModel>
4

2 に答える 2

9

*.svcWCF REST サービスにはファイルは必要ありません- を使用してアクティブ化できますServiceRoute- 詳細な説明については、svc ファイルと構成なしの RESTful WCF サービスを参照してください。

ServiceRoute基本的には、次のルートテーブルにa を追加することですglobal.asax

protected void Application_Start(object sender, EventArgs e)
{
    RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), 
                                           typeof(YourService)));
}
于 2012-04-10T14:30:31.743 に答える
2

svc ファイルなしで実行できるかどうかわかりません。svc ファイルの追加は大したことではありません。[新しい項目の追加] をクリックし、YourServiceName.svc をクリックするだけです。sc ファイルに次のコードを入力します。

<%@ServiceHost Service="YourNamsespace.YourWCFservice"%>

.net 4 には、svc ファイルを直接追加する簡単な方法が付属している場合があります

public class Global : System.Web.HttpApplication
 {
     protected void Application_Start(object sender, EventArgs e)
  {
         RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(YourService)));
   }
 }
于 2012-04-10T14:24:54.380 に答える