2017-04-18 22 views
0

私のWeb APIに関する問題があります。このAPIは、外部APIを呼び出して、郵便番号を使用して住所を返します。ASP.NET C#Web APIが時々404を返す、時にはうまく動作する

したがって、基本的にはホストされているサーバーで動作します。これはIIS 8.5でアプリケーションに変換されたフォルダであり、AppPoolは統合されており、バージョンは4.0であることに注意してください。いくつかのケースでは動作しますが、10分または20分後に404が返されます。ネットワークの外にあるサーバー自体にアクセスすると問題はありません。それはいつかは動作しますが、数分後、10または20の後には404は戻ってきませんし、その逆もあります。これはネットワークと関係がありますか?私はそれを担当していないので、私は頼んでいる。

は、私はそれは下のリンク形式を使用して呼び出します。

https://example.com/ConvertedToAppFolder/FindAddress/webservice.asmx/GetAddress?postcodeval=xxxxxxx&houseno=xx

は、ここですべてのヘルプは非常に高く評価されて

<?xml version="1.0"?> 
<configuration> 
<system.web> 
<customErrors mode="Off"/> 
<compilation debug="true" targetFramework="4.0"/> 
<webServices> 
    <protocols> 
     <add name="HttpGet"/> 
     <add name="HttpPost"/> 
    </protocols> 
</webServices> 
</system.web> 
<system.webServer> 
<httpProtocol> 
<customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
</customHeaders> 
</httpProtocol> 
</system.webServer> 
</configuration> 

私のweb.configファイルです。

+6

コードに積極的に404を返すコードがない限り、コードは定期的に404を返しません。 –

+0

コードに正当な理由がある場合(たとえば、そこにないリソースを要求したなど)、または断続的なネットワークの問題は、他のタイプのエラーにつながる可能性が高くなります。また、あなたは完全にはっきりしていませんでした。それは404のソースであるWeb APIか、それが呼び出す外部APIですか? 404が起きると、実行されたコード_is_をトレースして要求の進行状況をトレースするために、サーバーに十分なログを取得していますか?そうでない場合は、いくつかのログを追加して再デプロイする必要があります。 – ADyson

+0

ありがとうございました。カスタムヘッダーを使用して通話を監視しようとしました。ロードバランサの古いコンテンツを提供していたことが判明しました。他のサーバーにはAPIファイルが含まれていないので、404を返します。 – Saitama

答えて

0

おそらく、コードの問題ではなく、APIサーバーです。新しい純粋なプロジェクトを作成し、このAPIへのアクセスを試みてください。うまくいけば間違っていて、それはコードの問題です。 Google Translater APIのようにアクセスが制限されている可能性があります.1日あたり1,000,000文字、1日あたり10,000,000文字しか使用できません。

関連する問題