2016-08-23 14 views
1

私はAsp.Netの新機能で、学習プロセスで小さなWeb APIを開発しようとしました。実際に私はPluralSightチュートリアルを見ていますWebApiはASP.Netで動作していません

WebApiConfig.cs

config.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/v1/{controller}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 

TopicsController.cs

namespace MessageBoard.Controllers 
{ 
    public class TopicsController : ApiController 
    { 
     private IMessageBoardRepository _repo; 

     public TopicsController(IMessageBoardRepository repo) 
     { 
      _repo = repo; 
     } 
     public IEnumerable<Topic> Get() 
     { 

      var topics = _repo.GetTopics() 
          .OrderByDescending(t => t.Created) 
          .Take(25) 
          .ToList(); 
      return topics; 
     } 
    } 
} 

http://localhost:50031/api/v1/topics 

このURLは、すべての参照が追加されますフィドラー4.

でいないブラウザでは動作しません。私もビルドソリューションを行っているが、動作していないし、コードにエラーが表示されていない。

あなたが不足しているように見えるどのWeb APIを有効にするには、1つの最後のステップは、 Application_Start()メソッドに次のコード行を追加することにより、Global.asaxファイル内のWeb APIを有効にされて

答えて

2

WebApiConfig.Register(GlobalConfiguration.Configuration); 

また、してくださいVisual StudioのインスタンスからのWebアプリケーションプロジェクトを実行する必要がPluralSight tutorial.Youからポート番号を使用していないと、それがブラウザで開きますときには、YOURのAPI service.So場合に割り当てられているポートが表示されますポート12345が割り当てられていることがわかります。たとえば、次のURLを呼び出してサービスアクションにアクセスします。

http://localhost:12345/api/v1/topics 
+0

をコントローラにルーティング属性を追加しては、私の場合は動作していない回答いただきありがとうございますが、サー。 – atifaltaf

+0

更新情報をご覧ください。Visual StudioでWeb APIプロジェクトを実行していて、通話時に正しいポートを使用していますか? –

+0

「GlobalConfiguration.Configure(WebApiConfig.Register);」を追加することでその動作"AreaRegistration.RegisterAllAreas();" お礼ありがとうございます。私に指示してくれました。 – atifaltaf

1

[Route("api/v1/topics")] 
public IEnumerable<Topic> Get() 
    { 

     var topics = _repo.GetTopics() 
         .OrderByDescending(t => t.Created) 
         .Take(25) 
         .ToList(); 
     return topics; 
    } 
+0

ありがとうございます。しかし、私の場合は働いていません。 – atifaltaf

+0

もしそうでなければ、問題はルーティングにないどこかにある – Mostafiz

+0

私にあなたの貴重な時間を与えてくれてありがとう。 – atifaltaf

関連する問題