2014-12-03 43 views
0

我使用C#創建了一個定製API。我從Azure-Portal上載入的基礎項目。當我使用新的自定義API發佈項目時,我可以看到所有「todoItem」函數,但不是我創建的自定義API。我怎樣才能註冊這個API?註冊Azure移動服務用C#後端定製API

控制器:

using System; 
using System.Threading.Tasks; 
using System.Web.Http; 
using CustomeeMobileServiceService.DataObjects; 
using CustomeeMobileServiceService.Models; 
using Microsoft.WindowsAzure.Mobile.Service; 

namespace CustomeeMobileServiceService.Controllers 
{ 
    public class MobileRegistrationController : ApiController 
    { 
     public ApiServices Services { get; set; } 

     // GET api/MobileRegistration 
     public string Get() 
     { 
      Services.Log.Info("Hello from custom controller!"); 
      return "Hello"; 
     } 

     [HttpGet] 
     public async Task<Guid> GetMobileRegistrationId() 
     { 

      using (var context = new CustomeeMobileServiceContext()) 
      { 
       // Get the database from the context. 


       var db = context.Database; 

       var model = new MobileRegistration(); 

       var mobileRegistrationId = new Guid(); 
       var spParams = new object[] { mobileRegistrationId }; 


       await db.ExecuteSqlCommandAsync("EXEC dbo.MobileRegistration.GetMobileRegistrationId", spParams); 

       return mobileRegistrationId; 
      } 

     } 

    } 
} 

數據對象:

public class MobileRegistration : EntityData 
    { 
     public Guid MobileRegistrationId { get; set; }   
    } 
+0

當你說你可以「看」待辦事項功能,但不是自定義API,你是什麼意思?你如何試圖檢查API?另外,你是發佈到Azure還是你的意思是在本地測試? – 2014-12-03 15:36:19

+0

我認爲它與函數名稱有關。我創建了一個新的ApiController,並沒有改變默認函數的名字:Get(),這次我可以在這個控制器下看到這個函數。 – Eyal 2014-12-03 16:24:24

回答

1

既然你提到的獲取功能,我可以看到你有這將解決處理得到兩個不同的方法請求(get和getMobileRegistrationID)。這會導致解決調用get方法的方法的問題。

刪除Get()函數,你應該沒問題。我假設,無意中混合了基於方法名稱的基於約定的解析(以Get = handle GET開頭,以Post = handle POST開頭)和基於屬性的路由。

相關問題