2009-04-22 55 views
3

私はitextsharp.dllを使用してpdfを作成していますが、ローカルで正常に動作しています。しかし、サーバーは以下のエラーに直面しています.i assemblyinfo.csが追加されました。しかし同じエラーが発生しています。特に、これらの参照と属性を追加してAssemblyInfo.csファイルを修正しました:System.Security.SecurityException:そのアセンブリは部分的に信頼できる呼び出し側を許可しません

using System.Security; using System.Security.Permissions; ; [アセンブリ:AllowPartiallyTrustedCallers]私の形で

PDFはマイドキュメントでエラーがスローされます...それはそれを読むために行くんnは、以下のエラーがスローされます決して...

Document myDocument = new Document(PageSize.A4, 70, 70, 70, 70); 

はまだサーバー内のエラーを取得しています..誰でも私を助けることができます

'/'アプリケーションのサーバーエラー。 セキュリティ例外 説明:アプリケーションがセキュリティポリシーで許可されていない操作を実行しようとしました。このアプリケーションに必要な権限を与えるには、システム管理者に連絡するか、設定ファイルのアプリケーションの信頼レベルを変更してください。

例外の詳細:System.Security.SecurityException:アセンブリは、部分的に信頼できる呼び出し元を許可しません。

ソースエラー:

ライン216:HttpContext.Current.Response.End(); ライン217:
ライン218:} ライン219:保護された無効droplist_SelectedIndexChanged(オブジェクト送信者、EventArgsの電子) ライン220:{

ソースファイル:D:ホスティング\ \ bookgroupadmin \エージェント\のcheckbeforprintconf.aspx.csライン:218

スタックトレース:

[SecurityExceptionが:。そのアセンブリは、部分的に信頼された呼び出し元を許可しない] finalgroup_checkbeforprintconf.btn_Click dは(オブジェクト送信者、EventArgsの電子):\ bookgroupadmin \エージェント\のcheckbeforprintconfをホスティング\。 aspx.cs:218(System.Web.UI.WebControls.Buttonから継承されます。) .UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)+7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl、String eventArgument)+11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+33 システム。 + 7350 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)+213 System.Web.UI.Page.ProcessRequest()+86 System.Web.UI.Page.ProcessRequ estWithNoAssert(のHttpContextコンテキスト)18 System.Web.UI.Page.ProcessRequest(のHttpContextコンテキスト)+49 ASP.checkbeforprintconf_aspx.ProcessRequest App_Web_ovcuievo.18.cs中(のHttpContextコンテキスト):0 System.Web.CallHandlerExecutionStep.System。 Web.HttpApplication.IExecutionStep.Execute()+358 System.Web.HttpApplication.ExecuteStep(IExecutionStepステップ、ブール& completedSynchronously)64

バージョン情報:Microsoft .NET Frameworkのバージョン:2.0.50727.1433。 ASP.NETバージョン:2.0.50727。1433

答えて

2

ほとんどの場合、使用するライブラリは中程度の信頼環境(ほとんどの共有ホスティング会社)をサポートしていません。エラーをスローするコードではないかもしれませんが、サードパーティーはこれをサポートしていることを確認してください。

あなたが書いたコードの一部でスタックトレースが終了した場合は、このコードを入力してください。現在のところ、実行する権限がまったくないことは明らかではありません。

3

しかし、それについては、部分的に信頼できる発信者を許可するためにマイナーな変更が行われると、中信の信頼モードで実行できます。この変更を行うにはiTextSharpソースディストリビューション(http://sourceforge.net/projects/itextsharp/files/) AssemblyInfo.csファイルを修正して、部分的に信頼できる呼び出し元属性を追加します。

[assembly: AllowPartiallyTrustedCallers()] 

iTextSharpアセンブリを再構築すると、中程度の信頼環境に移行することをお勧めします。

+0

私は1&1で共有ホスティングのために働いた - 確かに行く方法! :) – Kamo

1

私は同じ問題を抱えており、別のフォルダを作成してその内容をすべて移動し、アプリケーションのパスを新しいフォルダに変更して解決しました。 私はそれがどのように確実に解決したかは言えません。しかし、それは私のために働いた。私はそれがIISのいくつかのキャッシングの問題のためにあると信じています。

これはあなたのお手伝いをします。

+0

「別のフォルダを作成して解決しました」という意味ですか? –

+0

ありがとう、私のために働く。 –

0

私もこのタイプの問題に直面し、以下のリンクの指示に従って解決しました。それは私の3日間の勤勉を保存するのに非常に役立ちます。あなたは 1.プロジェクトからiTextsharpの古い参照を削除して言及されていない私がやってこの

https://www.aspsnippets.com/Articles/ASPNet-iTextSharp-SystemSecuritySecurityException-That-assembly-does-not-allow-partially-trusted-callers.aspx

最終2以上のステップを試すことができます。 2.プロジェクトに新しいiTextSharp dll参照を追加します。それはあなたによって作られています。その後、プロジェクトを公開します。新しいitextsharp.dllを古いパブリッシュコードでサーバーに直接貼り付けないでください。

関連する問題