ServiceStack Webhook + ServiceStack.Webhooks.OrmLite 订阅商店插件问题

Posted

技术标签:

【中文标题】ServiceStack Webhook + ServiceStack.Webhooks.OrmLite 订阅商店插件问题【英文标题】:ServiceStack Webhook + ServiceStack.Webhooks.OrmLite Subscription Store Plugin Issue 【发布时间】:2020-10-04 21:48:03 【问题描述】:

我已经为我的 ServiceStack 项目启用了 Webhook,我在该项目中使用 ServiceStack.Webhooks.OrmLite OrmLiteSubscriptionStore 来存储我的订阅,除了删除操作之外一切正常,它给出了以下错误:

    
  "responseStatus": 
    "errorCode": "MissingMethodException",
    "message": "Method not found: 'Int32 ServiceStack.OrmLite.OrmLiteWriteExpressionsApi.Delete(System.Data.IDbConnection, System.Linq.Expressions.Expression`1<System.Func`2<!!0,Boolean>>)'.",
    "stackTrace": "[DeleteSubscription: 6/15/2020 12:42:28 PM]:\n[REQUEST: id:c42c28e2-f432-40d1-b370-49a5a8506035]\r\nSystem.MissingMethodException: Method not found: 'Int32 ServiceStack.OrmLite.OrmLiteWriteExpressionsApi.Delete(System.Data.IDbConnection, System.Linq.Expressions.Expression`1<System.Func`2<!!0,Boolean>>)'.\r\n   at ServiceStack.Webhooks.OrmLite.OrmLiteSubscriptionStore.Delete(String subscriptionId)\r\n   at ServiceStack.Webhooks.ServiceInterface.SubscriptionService.Delete(DeleteSubscription request)\r\n   at lambda_method(Closure , Object , Object )\r\n   at ServiceStack.Host.ServiceRunner`1.<ExecuteAsync>d__15.MoveNext() in C:\\BuildAgent\\work\\3481147c480f4a2f\\src\\ServiceStack\\Host\\ServiceRunner.cs:line 133\r\n",
    "errors": []
  

尝试了所有可用的公开内容,包括版本匹配清除本地 nuget 缓存对我没有任何作用。

【问题讨论】:

【参考方案1】:

您尝试使用的 ServiceStack 版本与构建 ServiceStack.Webhooks.OrmLite NuGet 包的 ServiceStack 版本不匹配。

您应该向jezzsantos/ServiceStack.Webhooks GitHub 项目提出问题,以发布针对最新 v5.9 的新版本。

否则您将需要降级以使用构建 NuGet 包的 ServiceStack v5.5.0

【讨论】:

以上是关于ServiceStack Webhook + ServiceStack.Webhooks.OrmLite 订阅商店插件问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ServiceStack 5.0 项目中使用来自 ServiceStack 4.0 的服务模型?

具有模式的 ServiceStack IRedisClient ScanAllKeys 未按预期返回结果 (ServiceStack 5.7.0)

ServiceStack:添加 Blazor 支持?

ServiceStack.OrmLite 调用存储过程

哪个 Canoe 版本与链接中为 REDIS 客户端实现提供的 soln 兼容 https://github.com/ServiceStack/ServiceStack.Redis

解决ServiceStack.Redis的6000次限制问题