标签: asp.net-webhooks

ASP.NET WebHooks和Signal-R之间的区别

新发布的ASP.NET WebHooks和Signal-R有什么区别?有什么优点或缺点?每种技术的用例有哪些?

asp.net webhooks signalr asp.net-webhooks

50
推荐指数
1
解决办法
9815
查看次数

WordPress WooCommerce ASP.net API WebHookHandler:WebHook请求必须包含格式为HTML表单数据的实体主体

我正在尝试为ASP.NET C#中的WordPress WooCommerce创建一个WebHooks WebHookHandler.

我首先创建了一个ASP.NET C#Azure API App WebApplication Project并添加了相关的引用(Microsoft.AspNet.WebHooks.Common,Microsoft.AspNet.WebHooks.Receivers,Microsoft.AspNet.WebHooks.Receivers.WordPress).添加了WebHookConfig,WordPressWebHookHandler并在GlobalAsax中注册了WebHookConfig.

然后,我将该应用程序发布为Azure App Service.

我的WordPressWebHookHandler仍然是示例的默认值,如下所示:

public class WordPressWebHookHandler : WebHookHandler
{
    public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
    {
        // make sure we're only processing the intended type of hook
        if("WordPress".Equals(receiver, System.StringComparison.CurrentCultureIgnoreCase))
        {
            // todo: replace this placeholder functionality with your own code
            string action = context.Actions.First();
            JObject incoming = context.GetDataOrDefault<JObject>();
        }

        return Task.FromResult(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

在WooCommerce中测试用户创建WebHook时,我可以在日志中看到请求,如下所示.

Webhook请求日志

但不幸的是,它在调试时从未收到,我看到下面的错误.

Webook请求日志错误

我想也许我需要一个自定义WebHook而不是WordPress特定的一个,因为这是一个WooCommerce Webhook.或者可能在路由中处理错误并最终在另一个控制器中.

任何帮助深表感谢.

php c# asp.net wordpress asp.net-webhooks

11
推荐指数
2
解决办法
1593
查看次数

如何使用 api 控制器在 .Net Core 2.* 中设置自定义 Webhook Sender 和 Reciever 实现

我不知道如何在 .Net Core 2.* 中使用自定义发件人、自定义处理程序和持久性 sub-pub 存储来创建 WebHook。

我已经阅读了许多解释 Webhooks 的文章和示例,但所有这些文章都使用 .NetFramework 而不是新的 .Net Core。

我发现这些文章特别有用:

这是我当前用于 WebHook Sender 的一些代码:

启动文件

public void Configure(IApplicationBuilder app, HttpConfiguration config, IHostingEnvironment env)
{
config.InitializeCustomWebHooks();
config.InitializeCustomWebHooksApis();
}
Run Code Online (Sandbox Code Playgroud)

NotifyApiController.cs(WebHook 发送方)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web.Http;
using Aeron.WebApi.Models.WebHookDtos;
using Aeron.WebApi.WebHookProviders;
using HttpPostAttribute = Microsoft.AspNetCore.Mvc.HttpPostAttribute;

[Authorize]
public class NotifyApiController : ApiController
{
    private static readonly List<MessageDto> Messages = new List<MessageDto>();

    public List<MessageDto> Get()
    {
        return Messages;
    }

    public async …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core asp.net-webhooks

8
推荐指数
0
解决办法
5291
查看次数

如何为.Net Core手动设置WebHookReceiver?

我正在尝试WebHookHandler.Net Core项目设置接收Json数据.我知道这些Webhook作品是如何理论化的.

有大量可用于接收WebHooks的信息,但是示例源代码.但我需要一个例子.Net Core吗?

asp.net webhooks asp.net-web-api asp.net-core asp.net-webhooks

5
推荐指数
1
解决办法
1350
查看次数

从Azure功能调用Asp.Net Web API端点

我正在尝试使用Azure功能开发以下场景.

我开发了Asp.Net Web API来处理数据库相关的操作.现在,我想实现一个类似于日常运行的调度程序,它将清理数据库中的垃圾数据.我已经在我的Web API中创建了一个端点,但我想定期执行它,所以我想用Azure函数的TimerTrigger函数实现调度程序,有没有办法在TimerTrigger函数中调用我的web api的端点.

如何在Azure功能中处理我的api身份验证?

谢谢

更新:

基于mikhail的回答,最后我使用以下代码获得了令牌:

var client = new HttpClient();
client.BaseAddress = new Uri(apirooturl);

var grant_type = "password";
var username = "username";
var password = "password";

var formContent = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("grant_type", grant_type),
    new KeyValuePair<string, string>("username", username),
    new KeyValuePair<string, string>("password", password)
});

var token = client.PostAsync("token", formContent).Result.Content.ReadAsAsync<AuthenticationToken>().Result;

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token.token_type, token.access_token);

var response = await client.GetAsync(apiendpoint);
var content = await response.Content.ReadAsStringAsync();
Run Code Online (Sandbox Code Playgroud)

c# azure asp.net-web-api asp.net-webhooks azure-functions

4
推荐指数
1
解决办法
1万
查看次数

从webhook调用时,Azure WebJob控制台应用程序空Args

我正在使用Azure WebJob.我首先在Visual Studio中创建一个控制台应用程序,然后在VisualStudio中将该应用程序作为webJob发布在portal.azure中.

该WebJob与触发Manualy从其网络挂接usernamepassword https://{MyWebAPP}.scm.azurewebsites.net/api/triggeredwebjobs/{MyWebJob}/run?arguments=1 2 3从第二程序.

这个WebJob非常简单.它只显示参数1,2和3.

当我从CommandeLine运行程序时,dotnet MyProject.dll 1 2 3它运行良好.但是当我从webHook运行它时,它不会读取参数.

这是我的主要脚本:

 class Program
{
    static void Main(string[] args)
    {

        Console.WriteLine("PARAMS Passed : " + string.Join(",", args));
    }
}
Run Code Online (Sandbox Code Playgroud)

当我从WebHook by Post请求运行时,这是WebJob中的日志: [06/09/2018 15:19:37 > 33a9f2: INFO] PARAMS Passed :

当我从commande Line运行时,这是控制台: [06/09/2018 15:19:37 > 33a9f2: INFO] PARAMS Passed : 1,2,3

可以帮助一些人.Tha,ks From All.

azure azure-webjobs asp.net-webhooks

2
推荐指数
1
解决办法
350
查看次数

ASPNET 等待网页上的 Webhook 响应/结果

我们有一个接受 Stripe 付款的网页,一旦付款完成,Stripe 就可以调用我们服务器上的 webhook。

此时,我们可以将订单标记为完成并完成任何其他附加任务。

我们如何让订单网页更新/将用户移至订单完成?

我们是否应该持续访问 AJAX 中的服务器来检查它是否已完成,或者是否有更好的方法来执行此操作。

asp.net-mvc webhooks asp.net-mvc-4 stripe-payments asp.net-webhooks

2
推荐指数
1
解决办法
1753
查看次数

如何制作一个“ webhook”?

我需要“ WinForm”应用程序来进行通信。
 “ Webhook”计划从viber接收数据(事件),然后该数据将在应用程序“ WinForm”中使用。

我做了:

  1. 创建项目“ ASP.NET Web应用程序(.NET Framework)”;
  2. 选择一个模板-“空” +“ MVC” +“ API”;
  3. 添加了控制器“控制器MVC 5-空”。控制器名称“ HookController”;
  4. 我运行应用程序“邮递员”;
  5. “邮差”。我将请求设置为“ POST”;
  6. “邮差”。我设置链接http://localhost:44836/Hook;
  7. “邮差”。点击“发送”;
  8. 结果见图片“-= RESULT =-”;

如果我正确理解了该理论,则在执行之后"Postman" action. I click "SEND",该ViberProcess (HttpContext context)方法应在HookController.cs控制器中执行,并且代码应在处停止breakpoint
这没有发生。

文档Viber REST API- 链接

题。
如何制作Webhook?

HookController.cs

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

using System.Web;
using System.Web.Mvc;

//
using System.Runtime.Remoting.Contexts;

namespace WebAppl1.Controllers
{
    public class HookController : Controller
    {
        // GET: …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-webhooks

0
推荐指数
1
解决办法
201
查看次数