当前位置: 首页 > 知识库问答 >
问题:

两次调用WebApi时出现ServerProtocolViolation错误

苏鸿志
2023-03-14

我使用c#在Visual Studio中创建了一个WebApi服务器。客户端应用程序通过以下方式调用服务:

string restMethod = "api/ClientImport/GetOffene/";
var url = new Uri(_client.BaseAddress.ToString() + restMethod + _credString);
HttpResponseMessage response = await _client.GetAsync(url);

第一次就可以了。如果我再次尝试从客户端使用此服务,它将始终失败,并出现ServerProtocolViolation异常。

如果我再试一次,它再次正常工作。然后在第二次尝试时发生相同的错误。此外,当我尝试调用不同的方法时,第二个总是会崩溃。

这是例外:

    null

任何人想要一个主意都是我的错?

提前谢谢你。

共有1个答案

漆雕和雅
2023-03-14

我明白了!我必须为每个请求初始化HttpClient(\u客户端)。

 类似资料:
  • 我正在创建一个类来使用OpenGL管理图像。要加载图像,我使用SOIL加载PNG。因为我需要检查碰撞,所以我想得到透明像素。所以我尝试使用:glGetTexImage获取数据 构造函数加载图像: LoadPixels在我的结构中加载像素数据。 然后在loadPixels中存储数据: 问题是,如果我创建一个图像: 它很好用。 如果我创建了很多图像: 然后我的程序崩溃了: 错误是: 如果我对glGet

  • 有一个带有正方形的板,其值取决于数组,它由hook处理。每次单击都会将值提高一,但不幸的是,它会将值提高两次(第一次单击除外)。 我的问题是: (1) 为什么会发生这种情况,(2)如何避免它,以及,一般来说,(3)有没有更好的方法来处理这样一个带有钩子的数组。 日志: 可以看出,从第二次点击开始,每次点击都会提高两次值。

  • 我试图建立一个连接4的游戏,它有一个由7列组件组成的板组件,所有包含6个空间组件。每个列的上方都有一个拖放按钮,该按钮将用于将该件拖放到列中。为了在“红色”和“黑色”玩家之间交替,我创建了一个状态“redorblue”,它返回一个布尔值。 简而言之,当单击Drop按钮时,我希望切换“redorblue”的值,以跟踪轮到谁了。我已经将onClick函数设置为setState({redorblue:!

  • 我的asp边界字段: 我的代码 domainGridview是网格名称。然而,我正在使用数据表操作pdf。超链接是这样来的 超文本传输协议://dtsp2010vm: 47707/站点/TS1

  • 我觉得有一个简单的解决办法,但由于某些原因,我不能把我的头围绕它。 我有一个情况,一个按钮必须先点击,才能点击另一个。用户为这2个JButtons选择的选项将决定程序的下一步。这意味着我必须调用actionListener两次,对吗?我如何在一个actionPerformed方法中做到这一点? 如果actionPerformed方法中的(e.getSource()==Square[1][4]&&e

  • 我正在写一个查询谷歌日历事件的Lambda函数。虽然我成功地在Google Developers控制台上创建了凭据(客户机ID和客户机机密),但我无法访问这些事件。错误: {“error”:{“error”:[{“domain”:“usagelimits”,“reason”:“keyinvalid”,“message”:“bad request”}],“code”:400,“message”:“b