2016-11-09 3 views
0

Ich versuche, eine Zeile zu einem azurblauen Tabellenspeicher hinzuzufügen. Es ist mein erstes Mal, dass ich mit einem MS-Tutorial arbeite, leider benutze ich Konsolen-App und nicht MVC, also musste ich etwas improvisieren. Grundsätzlich, wenn ich eine [httpPost] zu meiner AddRow Methode hinzufüge, bekomme ich einen http 404 Fehler " Serverfehler in '/' application.The Ressource kann nicht gefunden werden "Cant find-Methode: Verwenden von MVC httppost zum Hinzufügen von Zeilen zum Azure-Tabellenspeicher

-Code (innen Homecontroller).

[HttpPost] 
     public ActionResult AddRow() 
     { 
      ViewBag.Message = "Your application description page."; 

      try 
      { 
       CloudStorageAccount cloudStorageAcc = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString")); 

       CloudTableClient cloudTableClient = cloudStorageAcc.CreateCloudTableClient(); 

       CloudTable table = cloudTableClient.GetTableReference("Users"); 
       table.CreateIfNotExists(); 

       Insert inserter1 = new Insert("Bob", "Contoso"); 
       inserter1.UserName = "Bobbie"; 

       TableOperation insertOperation = TableOperation.Insert(inserter1); 

       table.Execute(insertOperation); 
      } 
      catch 
      { 
       return View(); 
      } 

      return View(); 
     } 

ich versuche, diese zuzugreifen, indem mysite.azurewebsites.net/Home/AddRow

Antwort

0

Whe Wenn wir im Browser eine Anfrage stellen, lautet die Standard-HttpMethod HttpGet. Es entspricht nicht definierten HttpMethod (Httppost) in Funktion. Es wird also über den Fehler zurückgegeben. Normalerweise verwenden wir die post-Methode, um Daten aus dem Gipfel zu erstellen, und dann können wir die httpMethode auf der Ansichtsseite definieren.

@using (Html.BeginForm("AddRow", "Home", FormMethod.Post)) 
{ 
    // data or logic 
} 

Wir können auch Code oder Tools (Postbote, Fidder) verwenden, um die Funktion mit definierten Httpmethod zu nennen.

Es scheint, dass Sie denselben Wert auf die [PartitionKey und RowKey] für jede HTTP-Anforderung gesetzt. Wenn es das ist, kann es zum ersten Mal richtig funktionieren. Weil [partitionkey und rowkey] das einzigartige für die tableEntity (Aufzeichnung) ist. Weitere Einzelheiten entnehmen Sie bitte der document.

Verwandte Themen