【问题标题】:ASP Web API call to /Token intermittent对 /Token 的 ASP Web API 调用间歇性
【发布时间】:2015-03-17 05:42:00
【问题描述】:

由于我已将我的应用程序部署到测试环境,因此对 /Token(登录并获取令牌)的调用正在发挥作用。问题是它在几次调用中根本不起作用(需要 30 秒,然后返回 500 错误),然后突然之间它就会开始工作(并且工作完美,在

在开发机器上的本地主机上,它从未跳过一个节拍。

我的开发设置只是在本地主机上;我的测试设置有三台服务器 - 一台用于 html/js 和一台 iis 重写,它指向托管 API 的第二台服务器和第三台数据库服务器。

通过以下 javascript 得到相同的响应:

        var loginData = {
        grant_type: 'password',
        username: self.loginEmail(),
        password: self.loginPassword()
    };

    $.ajax({
        type: 'POST',
        url: url + '/Token',
        data: loginData
    }).done(function (data) {
        self.loggedInUserName(data.userName);
        // Cache the access token in session storage.
        sessionStorage.setItem(tokenKey, data.access_token);

或者,如果我使用 POSTMAN,我会得到相同的响应。

Web.config:

  <system.webServer>
<httpErrors errorMode="Detailed" />
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule"/>
</modules>
<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Headers" value="Content-Type" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
  </customHeaders>
</httpProtocol>

我还写了以下内容:

            GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
        = IncludeErrorDetailPolicy.Always;

在我的 Global.asax 文件中,但仍然没有显示错误消息(想知道这是否是 IIS 重写隐藏了它们?)

编辑:对 /api 的所有调用都完美无缺,只有 /Token 正在发挥作用。

【问题讨论】:

    标签: javascript c# asp.net-web-api


    【解决方案1】:

    啊,多么愚蠢的问题。

    详细错误在通过 IIS 重写时不起作用。我开始直接点击 API,错误显示“找不到网络路径”。

    原来我将数据库服务器的 DNS 连接到了错误的 IP(非域加入的 IP)。我仍然认为它是间歇性的很奇怪,但它现在似乎正在工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 2023-03-23
      • 2021-12-24
      相关资源
      最近更新 更多