2016-07-21 7 views
0

私はAzureに新しいMobile Appを作成し、StarterプロジェクトをダウンロードしてAzureに公開しました。Azure Mobile Appで動作するデフォルトルートのみ

デフォルトルート/テーブルは完全に機能しますが、新しいテーブルにアクセスしようとすると、「あなたが探しているリソースが削除されました。名前が変更されたか、一時的に利用できません。

新しいテーブルをdbContextに追加し、Azureに公開しました。テーブルが作成されるように、SQL Managementスタジオを介してDBを表示すると、テーブルの一覧に表示されます。

public myAppContext() : base(connectionStringName) 
    { 
    } 

    public DbSet<Member> Members { get; set; } 
    public DbSet<ContactMethodType> ContactMethodTypes { get; set; } 
    public DbSet<GenderType> GenderTypes { get; set; } 
    public DbSet<Group> Groups { get; set; } 
    public DbSet<MemberContribution> MemberContributions {get;set;} 
    public DbSet<Invitation> Invitations { get; set; } 

元のコントローラと一致する新しいテーブルのコントローラを追加しましたが、その初期ルートだけが実行されているようです。あなたがしようとしているどのようなURL

using System.Linq; 
using System.Threading.Tasks; 
using System.Web.Http; 
using System.Web.Http.Controllers; 
using System.Web.Http.OData; 
using Microsoft.Azure.Mobile.Server; 
using myApp.DataObjects; 
using myApp.Models; 

namespace myApp.Controllers 
{ 
    public class InvitationsController : TableController<Invitation> 
    { 
    protected override void Initialize(HttpControllerContext  controllerContext) 
    { 
     base.Initialize(controllerContext); 
     myAppContext context = new myAppContext(); 
     DomainManager = new EntityDomainManager<Invitation>(context, Request); 
    } 

    // GET tables/Invitation 
    public IQueryable<Invitation> GetAllInvitations() 
    { 
     return Query(); 
    } 

    // GET tables/Invitation/48D68C86-6EA6-4C25-AA33-223FC9A27959 
    public SingleResult<Invitation> GetInvitation(string id) 
    { 
     return Lookup(id); 
    } 

    // PATCH tables/Invitation/48D68C86-6EA6-4C25-AA33-223FC9A27959 
    public Task<Invitation> PatchInvitation(string id, Delta<Invitation> patch) 
    { 
     return UpdateAsync(id, patch); 
    } 

    // POST tables/Invitation 
    public async Task<IHttpActionResult> PostInvitation(Invitation item) 
    { 
     Invitation current = await InsertAsync(item); 
     return CreatedAtRoute("Tables", new { id = current.Id }, current); 
    } 

    // DELETE tables/Invitation/48D68C86-6EA6-4C25-AA33-223FC9A27959 
    public Task DeleteInvitation(string id) 
    { 
     return DeleteAsync(id); 
    } 
} 
} 

答えて

0

、ドキュメントによると、あなたのコントローラのルートは、上記https://<server>/tables/Invitations

https://azure.microsoft.com/en-gb/documentation/articles/app-service-mobile-dotnet-backend-how-to-use-server-sdk/#define-table-controller

表コントローラはAddTables拡張メソッドを使用して初期化されなければなりません。これは、TableControllerのすべてのサブクラスに対して/ tables /の下にルートを追加します。

+0

私はその正確なURLにアクセスしようとしていました。メンバテーブルのURLは完全に機能しました(元のtodoクラスとコントローラを変換しました)が、他のテーブルは機能しませんでした。あなたが送ったリンクはそのトリックをするべきです。私は起動クラスでそのメソッドを呼び出すのではなく、UseDefaultConfiguration()だけを呼び出します。私が仕事から家に帰るときにそれを試して、それがうまくいくと答えるとマークします。助けてくれてありがとう! – GooseZA

+0

私はその記事で提案されている設定変更を追加しようとしましたが、まだ動作していません。メンバコントローラのみが動作します。コントローラと設定の両方を含む質問を更新します – GooseZA

+0

聖なる煙。私はコントローラ名にタイプミスがありました。どのような猿!それは私があまりにも遅く働くことで得られるものです!とにかく助けてくれてありがとう。私はその記事が非常に有用であると分かりました=) – GooseZA

関連する問題