2015-11-01 110 views
0

我已实施this tutorial。使用MVC 5.我添加了来自nuget的软件包:Microsoft.AspNet.WebHooks.Recievers.GitHub并在App_Start文件夹中创建了一个WebApiConfig.cs类。当从GitHub发送时,我得到一个状态200 ok的消息,所以路由工作正常并且响应。Microsoft.AspNet.WebHooks.Receivers。* MVC 5未注册处理程序

然后我创建了一个webhook处理程序来处理请求,这里是代码。

{ 
public class GitHubHandler : WebHookHandler 
{ 
    public GitHubHandler() 
    { 
     this.Receiver = "github"; 
    } 

    public override Task ExecuteAsync(string receiver, WebHookHandlerContext context) 
    { 
     string action = context.Actions.First(); 
     JObject data = context.GetDataOrDefault<JObject>(); 

     Debug.WriteLine("Made it to reciever"); 

     return Task.FromResult(true); 
    } 
} 

}

而且我一直无法打到这里调试点或写信至dubug控制台。

我想知道如果我的应用程序不是自动注册它吗?或者我错过了什么?

回答

0

本教程实际上效果很好。这是一个非问题。更加深入地了解从Microsoft.AspNet.Webhooks.Reciever.GitHub的代码后,我发现这一点:

  // If this is a ping request then just return. Otherwise call handlers. 
     if (string.Equals(actions.FirstOrDefault(), PingEvent, StringComparison.OrdinalIgnoreCase)) 
     { 
      return request.CreateResponse(); 
     } 

而且,我才明白,GitHub的测试提供信息只发送一个“平”事件,这段代码说明了一切。

提交后,并生成一个真实的事件我的处理程序达到预期。

相关问题