Tfs GenericJson WebHook返回错误的请求

Tfs GenericJson WebHook返回错误的请求,tfs,webhooks,Tfs,Webhooks,我正在尝试为BuildCompleted事件实现WebHook。我被错误缠住了:当从web界面测试服务钩子时,请求错误(400)。事件日志或IIS日志文件中似乎没有关于错误的详细信息。WebApiConfig中的Register函数被命中,但我的WebHook中的构造函数或ExecuteAsync未被命中 任何帮助都将不胜感激!我敢肯定,这是一些琐碎的事,我只是可以看到自己 我的设置包括prem TFS 2018 Update 2服务器和一个单独的Windwos服务器2012,其中包含用于Web

我正在尝试为BuildCompleted事件实现WebHook。我被错误缠住了:当从web界面测试服务钩子时,请求错误(400)。事件日志或IIS日志文件中似乎没有关于错误的详细信息。WebApiConfig中的Register函数被命中,但我的WebHook中的构造函数或ExecuteAsync未被命中

任何帮助都将不胜感激!我敢肯定,这是一些琐碎的事,我只是可以看到自己

我的设置包括prem TFS 2018 Update 2服务器和一个单独的Windwos服务器2012,其中包含用于WebHook的IIS。我将Global.asax和web.config部署到wwwroot,将程序集部署到wwwroot/bin

网址:

web.config:

...
<appSettings>
    <add key="MS_WebHookReceiverSecret_GenericJson" value="83699ec7c1d794c0c780e49a5c72972590571fd8" />
</appSettings>
...
WebApiConfig:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new {id = RouteParameter.Optional}
        );

        // Initialize GenericJson WebHook receiver
        config.InitializeReceiveGenericJsonWebHooks();
    }
}
Global.asax.cs

public class Global : HttpApplication
{
    protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
    }
}

这只是需要https的GenericJsonWebHookReceiver的问题,文档中实际指定了https

我被TFS服务钩子添加屏幕甩了,只推荐https:

这使我更仔细地观察了从GetResponse调用到服务的异常中的响应

{“Message”:“WebHook接收器'GenericJsonWebHookReceiver'需要HTTPS才能安全。请注册'HTTPS'类型的WebHook URI”。”


隔离测试时,您的服务是否正常工作?隔离?我还没有向WebHook添加任何有意义的内容。您已经添加了足够多的内容,已经部署了它,并且从VSTS调用它时出现错误。当您在本地调用它时,是否会出现相同的错误?在向调试器发布数据时,是否尝试附加调试器并单步执行?基本调试步骤。我对日志文件做了一些简单的写入,并调用了Register函数,但WebHook类中的构造函数和ExecuteAsync没有调用。我将尝试在本地设置WebHook,以便附加调试器。我确信我刚才错过了一个日志文件,其中有一条详细的错误消息,可以帮助我进行操作。针对同一服务器服务af TFS时,同一应用程序收到“错误请求”。我将尝试直接在服务器上设置调试会话。
public class Global : HttpApplication
{
    protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
    }
}