2016-05-31 9 views
0

Ich war schon einmal hier, aber dieses Mal habe ich es geschafft, weiter zu kommen als zuvor. Ich war following this guide und habe alles getan, was es gesagt hat. Wenn ich zu http://localhost:61589/help navigieren, sehe ich tatsächlich die Hilfeseite, aber es gibt nur die Einleitung, es gibt keine Beschreibungen.ASP.Net HelpPages zeigen meine Controller nicht an

In meinem Controller Ich habe Kommentare (immer tun) wie folgt aus:

/// <summary> 
/// For all answer related endpoints 
/// </summary> 
[RoutePrefix("answers")] 
public class AnswersController : ApiController 
{ 

    // Readonly properties 
    private readonly IUnitOfWork _unitOfWork; 
    private readonly AnswerService _service; 
    private readonly StateService _stateService; 

    /// <summary> 
    /// Default constructor 
    /// </summary> 
    public AnswersController() 
    { 

     // Map our properties 
     this._unitOfWork = new UnitOfWork<DatabaseContext>(); 
     this._service = new AnswerService(this._unitOfWork); 
     this._stateService = new StateService(this._unitOfWork); 
    } 

    /// <summary> 
    /// Get a list of answers 
    /// </summary> 
    /// <returns></returns> 
    [HttpGet] 
    [Route("")] 
    public async Task<IHttpActionResult> GetAllAsync() 
    { 
     try 
     { 

      // Return all our answers 
      return Ok(await this._service.GetAllAsync("States.Filters")); 

      // If there is an error 
     } 
     catch (Exception ex) 
     { 

      // Return our error 
      return BadRequest(ex.Message.ToString()); 
     } 
    } 

    /// <summary> 
    /// Get a answer by id 
    /// </summary> 
    /// <param name="id">The answer id</param> 
    /// <returns></returns> 
    [HttpGet] 
    [Route("")] 
    public async Task<IHttpActionResult> GetAsync(int id) 
    { 
     try 
     { 

      // Return all our answers 
      return Ok(await this._service.GetAsync(id, "States.Filters")); 

      // If there is an error 
     } 
     catch (Exception ex) 
     { 

      // Return our error 
      return BadRequest(ex.Message.ToString()); 
     } 
    } 

    /// <summary> 
    /// Create a answer 
    /// </summary> 
    /// <param name="model">The answer model</param> 
    /// <returns></returns> 
    [HttpPost] 
    [Route("")] 
    public async Task<IHttpActionResult> CreateAsync(Answer model) 
    { 
     try 
     { 

      // Get our states 
      var all = await this._stateService.GetAllAsync("Filters"); 
      var states = all.Where(m => model.States.Any(s => s.Id == m.Id)).ToList(); 

      // Create our model 
      var answer = new Answer 
      { 
       Text = model.Text, 
       QuestionId = model.QuestionId, 
       Order = model.Order, 
       States = states 
      }; 

      // Save our model 
      this._service.Create(answer); 

      // Save the database changes 
      await this._unitOfWork.SaveChangesAsync(); 

      // Return our updated model 
      return Ok(answer); 

      // If there is an error 
     } 
     catch (Exception ex) 
     { 

      // Return our error 
      return BadRequest(ex.Message.ToString()); 
     } 
    } 

    /// <summary> 
    /// Update a answer 
    /// </summary> 
    /// <param name="model">The answer model</param> 
    /// <returns></returns> 
    [HttpPut] 
    [Route("")] 
    public async Task<IHttpActionResult> UpdateAsync(Answer model) 
    { 
     try 
     { 

      // Create our model 
      var answer = new Answer 
      { 
       Id = model.Id, 
       QuestionId = model.QuestionId, 
       Order = model.Order, 
       Text = model.Text 
      }; 

      // Save our model 
      this._service.Update(answer); 

      // Save the database changes 
      await this._unitOfWork.SaveChangesAsync(); 

      // Return our updated model 
      return Ok(model); 

      // If there is an error 
     } 
     catch (Exception ex) 
     { 

      // Return our error 
      return BadRequest(ex.Message.ToString()); 
     } 
    } 

    /// <summary> 
    /// Delete a answer 
    /// </summary> 
    /// <param name="id">The answer id</param> 
    /// <returns></returns> 
    [HttpDelete] 
    [Route("")] 
    public async Task<IHttpActionResult> DeleteAsync(int id) 
    { 
     try 
     { 

      // Get our model 
      var model = await this._service.GetAsync(id); 

      // Save our model 
      this._service.Remove(model); 

      // Save the database changes 
      await this._unitOfWork.SaveChangesAsync(); 

      // Return Ok 
      return Ok(); 

      // If there is an error 
     } 
     catch (Exception ex) 
     { 

      // Return our error 
      return BadRequest(ex.Message.ToString()); 
     } 
    } 
} 

Im generierten XmlDocument.xml Ich habe diese memebers:

<member name="T:Piiick.Api.Controllers.AnswersController"> 
    <summary> 
    For all answer related endpoints 
    </summary> 
</member> 
<member name="M:Piiick.Api.Controllers.AnswersController.#ctor"> 
    <summary> 
    Default constructor 
    </summary> 
</member> 
<member name="M:Piiick.Api.Controllers.AnswersController.GetAllAsync"> 
    <summary> 
    Get a list of answers 
    </summary> 
    <returns></returns> 
</member> 
<member name="M:Piiick.Api.Controllers.AnswersController.GetAsync(System.Int32)"> 
    <summary> 
    Get a answer by id 
    </summary> 
    <param name="id">The answer id</param> 
    <returns></returns> 
</member> 
<member name="M:Piiick.Api.Controllers.AnswersController.CreateAsync(Piiick.Data.Models.Answer)"> 
    <summary> 
    Create a answer 
    </summary> 
    <param name="model">The answer model</param> 
    <returns></returns> 
</member> 
<member name="M:Piiick.Api.Controllers.AnswersController.UpdateAsync(Piiick.Data.Models.Answer)"> 
    <summary> 
    Update a answer 
    </summary> 
    <param name="model">The answer model</param> 
    <returns></returns> 
</member> 
<member name="M:Piiick.Api.Controllers.AnswersController.DeleteAsync(System.Int32)"> 
    <summary> 
    Delete a answer 
    </summary> 
    <param name="id">The answer id</param> 
    <returns></returns> 
</member> 

Aber sie erscheinen nicht auf dem tatsächlichen Hilfeseite. Hat jemand eine Idee, warum das passieren könnte?

Antwort

0

Stellt sich heraus, ich musste nur diese Zeile hinzufügen:

GlobalConfiguration.Configure(WebApiConfig.Register); 

meiner Startup.cs Datei in der Konfiguration Methode. Sobald dies hinzugefügt wurde, begann es zu arbeiten. Für alle anderen sieht, dass dies wie:

public partial class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 

     // Get our http configuration 
     var config = new HttpConfiguration(); 

     // Register all areas 
     AreaRegistration.RegisterAllAreas(); 
     GlobalConfiguration.Configure(WebApiConfig.Register); 

     // Use our web api 
     app.UseWebApi(config); 
    } 
} 
0

Nach http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/creating-api-help-pages

Sie XML-Dokumentationskommentare in der Dokumentation erstellen können. Um diese Funktion zu aktivieren, öffnen Sie die Datei Bereiche/Hilfeseite/App_Start/HelpPageConfig.cs und Kommentar- der folgenden Zeile:

config.SetDocumentationProvider(new XmlDocumentationProvider(
    HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml"))); 
+0

ich schon, dass tue, dass Schritt 5 auf den Link oben – r3plica

+0

Haben Sie versucht, den Code in Hilfebereich zu debuggen? –

Verwandte Themen