2009-04-22 2 views
3

itextsharp.dll을 사용하여 pdf를 만드는 중입니다. 로컬로 작동 중입니다. 하지만 서버 아래에 오류가 직면하고 있습니다 .i assemblyinfo.cs 추가했습니다 ..하지만 같은 오류가오고 있습니다. 특히, 이러한 참조 및 특성을 추가하여 AssemblyInfo.cs 파일을 수정했습니다 :System.Security.SecurityException : 해당 어셈블리가 부분적으로 신뢰할 수있는 호출자를 허용하지 않습니다

using System.Security; using System.Security.Permissions; 는 [어셈블리 : AllowPartiallyTrustedCallers]

내 양식에

는 PDF는 여전히

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

서버에서 오류를 얻고있다 ... 그것은 읽어 갈 n은 아래의 오류가 발생 결코 .. myDocument에서 오류가 발생합니다 .. 누구든지 나를 도울 수있다

'/'응용 프로그램의 서버 오류. 보안 예외 설명 : 응용 프로그램이 보안 정책에서 허용하지 않는 작업을 수행하려고 시도했습니다. 이 응용 프로그램에 필요한 사용 권한을 부여하려면 시스템 관리자에게 문의하거나 구성 파일에서 응용 프로그램의 신뢰 수준을 변경하십시오.

예외 정보 : System.Security.SecurityException : 어셈블리가 부분적으로 신뢰할 수있는 호출자를 허용하지 않습니다.

소스 오류 :

라인 (216) : HttpContext.Current.Response.End(); 선 217 :
라인 (218)} 선 219 : 보호 공극 droplist_SelectedIndexChanged (객체 송신자있는 EventArgs E) 선 220 : {

소스 파일 : d : 호스트 \ \ bookgroupadmin \ 에이전트 \의 checkbeforprintconf.aspx.cs 라인 218

스택 추적 :

[SecurityException가 :. 즉 조립체는 부분적으로 신뢰할 발신자를 허용하지 않는다] finalgroup_checkbeforprintconf.btn_Click D에서 (오브젝트 송신자있는 EventArgs E) : \ bookgroupadmin \ 에이전트 \의 checkbeforprintconf 호스팅 \. aspx.cs : 218(System.Web.UI.WebControls.Button.OnClick (EventArgs e) +105 ) .UI.IPostBackEventHandler.RaisePostBackEvent (문자열 eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, 문자열 eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent (NameValueCollection은 postData를) +33 시스템. Web.UI.Page.ProcessRequestMain (부울 includeStagesBeforeAsyncPoint 부울 includeStagesAfterAsyncPoint) 7,350 System.Web.UI.Page.ProcessRequest (부울 includeStagesBeforeAsyncPoint 부울 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 (IExecutionStep 단계, 부울 & completedSynchronously) +64

버전 정보 : 마이크로 소프트 .NET 프레임 워크 버전 : 2.0.50727.1433; ASP.NET 버전 : 2.0.50727.1433

답변

2

대부분 사용하는 라이브러리는 중간 신뢰 환경 (대부분의 공유 호스팅 회사)을 지원하지 않습니다. 오류를 던지는 것은 코드가 아닐 수도 있지만 제 3 자 - 이것이이를 지원하는지 확인하십시오.

스택 추적이 사용자가 작성한 코드의 일부로 끝나면이 코드를 제공하십시오. 현재 실행할 수있는 권한이 정확히 무엇인지 명확하지 않습니다.

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. 프로젝트에 새로운 iTextsharp dll 참조를 추가하십시오. 네가 만든거야. 그런 다음 프로젝트를 게시하십시오. 새 itextsharp.dll을 이전 게시 코드로 서버에 직접 붙여 넣지 마십시오.

관련 문제