ASP.NET MVCのWeb ApiでUnmanaged dllを使用するとOS再起動時の呼び出しが固まる


タイトルの通りの現象に困っています

サーバーは Windows Server 2012 R2  
開発環境はVisual Studio 2015 + ASP.NET (.NET Framework 4.6.2)  
です

ざっくり現象を書くと  
Unmanaged dllを使ったWeb APIを呼ぶと固まってしまう  
同様の処理をCのCGI(exe)で実行するとちゃんと動く  
です

いろいろ試した結果を含めて詳細を以下に書きます

* * *

  1. サードパーティ製ライブラリを2種類使用するUnmanaged dll(64bit)を作成しています（このDLLを①とします）

  2. C言語のコンソールアプリで①をリンクして関数を呼ぶものを作りました（②）  
MVCのWeb Api 2コントローラーを作成して①を呼ぶものを作りました（③）

  3. ②，③はサーバーに配置してどちらもIISを通して呼ぶようにしました

  4. サーバーを再起動してサービスが立ち上がったと思われるタイミングで②を呼ぶと常識的な時間で応答を返してくれました

  5. 同じことを③で試すと応答がかえって来ません（クライアント側のタイムアウトや、アプリケーションプールのPingエラーで強制終了させられる）  
この状態は30分ほど待っても改善しません（それ以上は待っていないのでわかりません）

  6. ②を呼んだあと③を呼ぶと1,2回くらいの試行で応答を返してくれます

  7. 一度でも応答を返すとあとは普通に応答を返します  
iisresetコマンド等で再起動しても返します

  8. サーバーを再起動すると元（応答を返さない状態）に戻ります

  9. 「起動が遅い」等で調べると`<generatePublisherEvidence enabled="false"/>`が出てきたので試してみましたが変わりませんでした(v4以降は関係ないという記述もありましたし、今はサーバーをインターネットにつないでいる状態ですが変化なしです)

  10. ①の各ステップでログを出力するようにしたところ、サードパーティ製ライブラリの初期化周辺で止まっているようなのですが、止まる箇所は固定ではありませんでした（ログは毎回flushして閉じているので多分止まる直前を示していると思います）

* * *

という感じでして途方に暮れています  
原因や回避策があれば教えていただけますでしょうか




詳しい人に見ていただきましたがサードパーティ製ライブラリの不具合または環境依存の可能性が高いという結論になりました

Nativeアプリで呼び出す限り問題はないので、ASP.NETで直接呼び出さずNativeアプリを経由するように変更しました

