背景: 2 つの c ファイルを含む DLL を作成しました。これらの c ファイルは、class 型のポインターであるユーザー定義型 (class_pointer と呼びます) を定義する 3 番目の c ファイルを参照します。
例 typedef class pointer_class *class_pointer;
次にクラスを定義します: typedef class pointer_class {..}
pointer_class には、元の 2 c ファイルが class_pointer を介して使用するさまざまな変数と関数が関連付けられています。
この DLL を ASP.NET C# Web アプリケーションで使用しています。PInvoke を使用して関数を dll にインポートしています。しかし、class_pointer を含むこれらの関数を呼び出すと、IIS で実行されている Web サイトがハングします。これは、VS デバッガーでは発生しません。上記のclass_pointersをコメントアウトすると、すべてがスムーズに実行されます.DLLとすべてにアクセスできます.
NETWORK SERVICEが読み取り/実行権限を持つように、binディレクトリに含まれるすべてのDLLの権限を(安全のために)変更しようとしました。dll は class_pointers がなくても動作するので、権限の問題ではないと思います。これらの class_pointers が関係しているときに IIS がハングする原因について誰かアドバイスはありますか?