我正在尝试使用以下命令从API获取请求:
RestClient client = new RestClient("https://gds.eligibleapi.com/v1.5/coverage/all?api_key="
+ apiSecret + "&payer_id=" + payerID + "&service_provider_organization_name=" +
providerOrgName + "&provider_npi=" + NPI + "&member_id=" + ptPolicyID +
"&member_first_name=" + ptFirstName + "&member_last_name=" + ptLastName
+ "&member_dob=" + ptDOB + &date=" + DOS + "&service_type=" + serviceType +
"&format=x12");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
string response271 = response.Content;
Stream response271Stream = StringStream.GenerateStreamFromString(response271);
我一直在线上收到错误:
Stream response271Stream = StringStream.GenerateStreamFromString(response271)
那说:
'response271Stream.ReadTimeout'引发System.InvalidOperationException类型的异常'
这是一张参考图片:
这只是我想要使用此API的一些调用之一。任何人都可以帮我弄清楚为什么它没有根据我的请求流式传输API的响应?谢谢!
答案 0 :(得分:7)
对于访问此页面的任何人来说,问题是一个意外的null变量,它在API中未处理。没有回应,请求超时。我的修复是首先,尝试允许与我的客户超时。一旦到位,我就可以将问题缩小到数据本身,这就是我的问题。
这个答案很晚才会回来,但我将会尝试回答任何人对我未来答案的疑问。
答案 1 :(得分:2)
正如您在屏幕截图中看到的,CanTimeout
属性为false
。所以这些属性应该抛出异常;来自the msdn page of Stream
:
对继承者的说明:
应重写ReadTimeout属性以为流提供适当的行为。如果流不支持超时,则此属性应引发InvalidOperationException
请记住,您正在查看查看流的调试器 - 在您实际触摸超时属性之前,不会在您的应用程序中抛出异常。