0

私のWebアプリケーションは非常に奇妙なエラーを表示します:

    Server Error in '/' Application.
    --------------------------------------------------------------------------------

    Security Exception 
    Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

    Exception Details: System.Security.SecurityException: Request failed.

    Source Error: 


    [No relevant source lines]


    Source File: c:\windows\Microsoft.NET\Framework\v4.0.21006\Temporary ASP.NET Files\root\9d105d0f\5a29f9f\App_Web_w324g3dv.1.cs    Line: 0 

    Stack Trace:   

[SecurityException: Request failed.] 

  AjaxControlToolkit.HTMLEditor.EditPanel.set_ActiveMode(ActiveModeType value) in C:\Users\Machta\Documents\Visual Studio 10\Projects\AjaxControlToolkit_9c860ac12ae9\Server\AjaxControlToolkit\HTMLEditor\EditPanel.cs:400
   AjaxControlToolkit.HTMLEditor.EditPanel.LoadPostData(String postDataKey, NameValueCollection postCollection) in C:\Users\Machta\Documents\Visual Studio 10\Projects\AjaxControlToolkit_9c860ac12ae9\Server\AjaxControlToolkit\HTMLEditor\EditPanel.cs:142
   AjaxControlToolkit.ScriptControlBase.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) in C:\Users\Machta\Documents\Visual Studio 10\Projects\AjaxControlToolkit_9c860ac12ae9\Server\AjaxControlToolkit\ExtenderBase\ScriptControlBase.cs:426
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +8766531

...

サーバーに公開した場合にのみ発生します(セキュリティ例外であれば問題ありません)。

奇妙なことに、アプリケーションには、コンピューター上のフォルダーにあるはずのファイルにアクセスするためのアクセス許可が必要です。しかし、このフォルダは私のコンピュータには存在しません。Visual Studioを再インストールしたときに、プロジェクトを別のフォルダーに移動しました(同じ名前ですが、まだ別のフォルダーです)。

だから私の質問は:

  1. アプリケーションがサーバー上にあるときに、コンピューター上にファイルが必要なのはなぜですか?
  2. また、ファイルがここにあるべきではないのに、なぜそれが私のコンピューターで機能するのですか?
  3. 考えられる原因と解決策は何ですか?

ここで試すことができます:http://machta.aspone.cz/editor/webConntentEditor.aspx。ユーザー名:machtaパスワード:123456

また、このエラーはすべてのポストバックの後に表示されますが、ページは正常にロードされます。

4

2 に答える 2

2

サーバーの信頼レベルはデフォルトで低くなっている可能性があります。
次の行をweb.configに追加してみてください

<system.web>
    <trust level="Full"  />
</system.web>

ソース

于 2010-12-16T21:07:40.400 に答える
0

まず第一に、それはあなたのコンピュータ上のファイルを要求していません。コンパイルされたファイルの名前(および場所)と、失敗した関連するコード行を通知するだけです。

PDBは、アプリケーションのコンパイル時にこの情報を保存します。そのため、参照はハードドライブ上の場所を参照します。

その参照された場所が有効でなくなった場合は、ローカルソースを移動してから、アプリ全体をサーバーにデプロイしていないようです。

そうは言っても、400行目またはEditPanelは何をしますか?Webサーバー上の場所にファイルを書き込もうとしている場合は、アプリを実行しているユーザーがこれを行うための書き込みを持っていることを確認する必要があります。ヒント:アプリケーションプールの設定を確認してください。

于 2010-12-16T21:14:04.167 に答える