从今天开始,AuthenticateWithApp引发NullReferenceException

时间:2018-07-06 14:16:20

标签: c# .net podio

从今天开始,在.NET-Podio-Client(最新版本1.5.8)中调用AuthenticateWithApp-function时,我们将面临NullReferenceException。

我在状态网站上看不到Podio-API的更新或任何停机时间。我想这一定是Podio API内部的问题。

有人遇到同样的问题吗?

关于Thorsten

3 个答案:

答案 0 :(得分:4)

我们有相同的问题,我们通过修改库来解决此问题。我们的大多数项目都使用Podio Sync library。 Podio Sync库属于Dotnet Framework 4.0,因此我们添加了一行代码来设置默认的安全协议。

ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;

更改在Podio.cs文件第76行

中完成
private T Request<T>(RequestMethod requestMethod, string url, dynamic requestData, dynamic options = null)
            where T : new()
        {
            Dictionary<string, string> requestHeaders = new Dictionary<string, string>();

更改为

 private T Request<T>(RequestMethod requestMethod, string url, dynamic requestData, dynamic options = null)
            where T : new()
        {
            ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;

            Dictionary<string, string> requestHeaders = new Dictionary<string, string>();

希望这会有所帮助。


可以找到C# HttpWebRequest The underlying connection was closed: An unexpected error occurred on a send

的SecurityProtocol问题解决方案

答案 1 :(得分:1)

今天也偶然发现了那个。邮递员工作的Podio .NET库中的请求失败。这是由Podio的API更新引起的,例如@Sara所说。似乎我的系统(以及您的系统)仍默认为Tls 1.0

在Main()的开头添加它。这将强制至少Tls 1.1。

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;

或者,您也可以设置默认值,如此处所述:

https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls

答案 2 :(得分:0)

我今天可以解决此问题。 @derpirscher对协议的提示很有帮助。因为我们使用.Net 4.0,所以我不得不玩一些。但是后来我想到了这一行:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;

我将此行插入了Default.aspx页的Page_Load-Method。

现在,对Podio-API的调用再次正常工作。感谢您的帮助!

关于托尼