.NET(C#)でのスタックオーバーフロー回避方法
ASP.NET初心者です。初めて質問させていただきます。
ASP.NET(C#)でwin32系の外部ライブラリを使用したいのですが、そのライブラリを読み込むところで
スタックオーバーフローが発生してしまいます。
同じライブラリをWindowsアプリケーション(C#)で使用したところ問題なく実行できました。
ASP.NETで同じように使用しようとするとスタックオーバーフローが発生してしまう状態です。
[デバッグ中のエラーメッセージ]
xxxx.dllを読み込めません。再帰が深すぎます。スタックがオーバーフローしました。
[イベントログ]
障害が発生しているアプリケーション名: w3wp.exe、バージョン: 7.5.7600.16385、タイム スタンプ: 0x4a5bcd2b
障害が発生しているモジュール名: xxxx.dll_unloaded、バージョン: 0.0.0.0、タイム スタンプ: 0x4d92e27c
例外コード: 0xc0000005
xxxx.dllは、今回使用したいDLLです。
過去の質問等でスタックオーバーフローが発生した場合の解決策を探してはみたのですが、見つけられた方法が以下の2つでどちらもうまくいきませんでした。
(1)スタック領域を大きくする →スレッドでスタック領域を指定して実行してみました。
(2)ライブラリの中身をスタックオーバーフローが起きないように変更する → ライブラリの中身は変更できない状態です。
(1)のほうは、指定方法間違えてるかもしれません。。。
Thread newthread = new Thread(new ThreadStart(init), 0);
もしくは、w3wp.exeでエラーが発生しているということはIIS関係で何かおかしなことをしてしまってるのかもとか・・・。
根本から見方が間違ってるかもしれませんが、(1)の方法の正しいやり方、もしくはそれ以外の解決策をご教授頂きますようよろしくお願いいたします。