2011-11-23 3 views
1

ASP.Net 4.0 프레임 워크에서 웹 응용 프로그램을 만들고 데이터베이스 상호 작용을 위해 LinqtoSQL을 사용했습니다. 내 코드를 빌드하고 내 공유 웹 호스팅 서버에 업로드했습니다. 그 홈 페이지는 잘 작동하고 페이지 내용이 데이터베이스와 상호 작용하지 않는 곳에서 잘 작동하는 모든 페이지. 하지만 어느 페이지가 데이터베이스와 상호 작용하여 오류가 발생합니까?"보안 정책에 의해 허용되지 않는 작업을 응용 프로그램이 시도했습니다."

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. 
    Stack Trace: 

    [SecurityException: Request failed.] 
    DataContextFactory.GetWebRequestScopedDataContextInternal(Type type, String key, String connectionString) in DataContextFactory.cs:81 
    DataContextFactory.GetWebRequestScopedDataContext() in DataContextFactory.cs:42 
    members_buyer_mypostedjobs..ctor() in mypostedjobs.aspx.cs:19 
    ASP.members_buyer_mypostedjobs_aspx..ctor() in App_Web_soaq30qq.4.cs:0 
    __ASP.FastObjectFactory_app_web_soaq30qq.Create_ASP_members_buyer_mypostedjobs_aspx() in App_Web_soaq30qq.9.cs:0 
    System.Web.Compilation.BuildResultCompiledType.CreateInstance() +32 
    System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) +109 
    System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +31 
    System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) +37 
    System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +334 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184 

공유 서버에서이 오류를 해결하는 방법 ??

모든 코드는 로컬 IIS 서버와 테스트 전용 서버에서 잘 작동하지만 클라이언트는 공유 서버를 구입했으며 공유 서버에서 실행하려고합니다.

+0

스택 추적이란 무엇입니까? – SLaks

+1

질문에 넣으십시오. – SLaks

답변

1

참고 : 공유 호스팅 환경에서는 이러한 설정이 잠겨있을 가능성이 높으므로 호스트에 문의해야합니다. Using LINQ with ASP.NET

이 매체의 신뢰에서 실행되는 웹 응용 프로그램에서 LINQ를 사용하려면 중간 신뢰에 대해 정의 된 정책 파일의 두 가지 요소를 포함해야합니다. 기본적으로 web_mediumtrust.config 파일은 중간 신뢰를위한 정책 파일이며 이러한 요소는 파일에 설치됩니다.

SecurityClasses 요소 내에서

는, LINQ는 다음과 같은 속성을 가진 SecurityClass 요소 필요에 "ASP.Net"로 설정 Name 속성이있는 PermissionSet에 요소 내에서

<SecurityClass 
    Name="ReflectionPermission" 
    Description="System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> 

을, LINQ가있는 IPermission 요소가 필요합니다 다음 속성 :

<IPermission 
    class="ReflectionPermission" 
    version="1" 
    Flags="RestrictedMemberAccess" 
/> 
+0

"web_mediumtrust.config 파일"은 어디에서 찾을 수 있습니까 ?? –

+0

@ GauravAgrawal : 호스트에게이 작업을 요청해야합니다. 거절하면 더 나은 호스트로 전환하십시오. – SLaks

+0

@SLaks 감사합니다. 내 호스팅 서비스 제공 업체에 연락 드리겠습니다. –

관련 문제