4

与えられたいくつかの C++ DLL を使用してインターフェースできる産業用システムがあります。産業用システムを制御する .NET ラッパーを作成し、この .NET ラッパーを ASP .NET Web アプリケーションにバンドルして、Web 経由でシステムを制御できるようにしました。

ASP .NET 開発サーバーを使用して Visual Studio で実行/デバッグすると、すべて正常に動作します。ローカルの ISS サーバーにデプロイすると、C++ DLL からエラーが発生します。これは、通信障害があることを意味します (聞いたことがあります)。

IIS アプリと開発サーバーは同じマシン上にあり、一方が機能し、もう一方が機能しないため、これはアクセス許可/セキュリティ エラーであると確信しています。アプリケーション プールの ID、ASP .NET の偽装、ファイル システムのアクセス許可などをいじって何日も費やしましたが、役に立ちませんでした。(私は IIS 初心者でもありますが、これは役に立ちません。)

だから、ここにオチがあります:

IIS ASP .NET アプリケーションをセットアップして、ローカル マシンへの完全な (全力で、銃を突きつけて) アクセスできるようにする方法を (可能であれば) 誰か説明していただけませんか? IIS がアプリケーションを妨げていないことを確認したいと思います

4

2 に答える 2

6

エラーは C++ から発生しているようで、ファイル システム レベルでの何らかのアクセス許可が欠落しているか、ファイル自体が欠落しているため、完全な信頼モードを指定することで問題が解決するかどうかはわかりません。

いずれにせよ、あなたの質問に答えるには、web.config を使用して完全信頼モードを設定し、次のセクションを web.config に追加します。

<system.web>
 <securityPolicy>
   <trustLevel name="Full" policyFile="internal"/>
 </securityPolicy>
</system.web>

詳細については、http: //msdn.microsoft.com/en-us/library/wyts434y.aspxを参照してください。

于 2012-04-19T01:24:52.543 に答える
1

ASP.NET アプリケーション自体に完全な信頼レベルを設定するだけでなく、IIS が Web サイト/Web アプリへの匿名アクセスに使用するユーザーを確認します。

Web アプリ -> プロパティ -> ディレクトリ セキュリティ -> 編集 (認証とアクセス制御で)。

(このパスは IIS6 用です。)

デフォルトでは、IIS はカットダウン アクセス許可を持つユーザーを割り当てます。これにより、発生している問題が発生する可能性があります。

于 2012-04-19T04:09:21.197 に答える