ASP Web API调用/ Token间歇性

时间:2015-03-17 05:42:00

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

由于我已将我的应用程序部署到测试环境,因此对/ Token(登录并获取令牌)的调用正在播放。问题是它几乎不能用于几次调用(需要30秒然后返回500错误),然后突然它将开始工作(并且完美地工作,得到<50ms的回复)。

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

我的开发设置只是在localhost上;我的测试设置有三个服务器 - 一个用于html / js,一个iis重写,指向承载API的第二个服务器和第三个DB服务器。

通过以下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的调用都完美无缺,只有/令牌正在播放。

1 个答案:

答案 0 :(得分:0)

啊这真是一个愚蠢的问题。

详细错误无法通过IIS重写进行。我开始直接点击API,错误显示的是&#34;未找到网络路径&#34;。

原来我将DB服务器的DNS连接到错误的IP(非域加入了一个)。我仍然认为这很奇怪它是断断续续的,但它现在似乎在起作用。