我通常不喜欢发布这些类型的问题,因为通常我发现真正学习的最好方法是自己找出答案.
但是,我需要很快回答这个问题,因为我有一个客户由于这个问题而无法经营她的业务.
昨天,我的ASP.NET主机提供程序将我的应用程序从运行.NET 1.1的服务器移动到运行.NET 1.1和2.0的服务器.我的问题是,当我测试移动时,主站点页面(Default.aspx)将不会加载
"说明:应用程序尝试执行安全策略不允许的操作.要授予此应用程序所需的权限,请与系统管理员联系或在配置文件中更改应用程序的信任级别.
异常详细信息:System.Security.SecurityException:请求类型为'System.Net.WebPermission,System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败."
[SecurityException:请求类型'System.Net.WebPermission,System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败.] System.Security.CodeAccessSecurityEngine.Check(Object demand,StackCrawlMark&stackMark,Boolean isPermSet)+0 System.Security.CodeAccessPermission.Demand()+59 System.Net.HttpWebRequest..ctor(Uri uri,ServicePoint servicePoint)+147 System.Net.HttpRequestCreator.Create(Uri Uri)+26 System.Net.WebRequest .Create(Uri requestUri,Boolean useUriBase)+298 System.Net.WebRequest.Create(Uri requestUri)+28 System.Web.Services.Protocols.WebClientProtocol.GetWebRequest(Uri uri)+30 System.Web.Services.Protocols.HttpWebClientProtocol .GetWebRequest(Uri uri)+12 System.Web.Services.Protocols.SoapHttpClientProtocol.GetWebRequest(Uri uri)+4 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object [] parameters)+52 PilatesPlusDublin.PilatesPlusDublinws.PilatesPlus.InsertException(String sModuleName,String sException,Int32 iUserID)+97 PilatesPlusDublin.MainDefault.Page_Load(Object sender,EventArgs e)+ 144 System.Web.UI.Control.OnLoad(EventArgs e)+99 System.Web.UI.Control.LoadRecursive()+47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+7350 System.Web .UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+213 System.Web.UI.Page.ProcessRequest()+86 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)+18 System.Web.UI.Page .ProcessRequest(HttpContext context)+49 ASP.maindefault_aspx.ProcessRequest(HttpContext context)+4 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+358 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)+64"
如果主机站点上没有WebPermission,如何配置我的站点以允许访问该页面?是否有一些标签需要放入web.config?注意 - 我们无法访问machine.config或任何其他IIS设置.
我知道人们讨厌阅读和回答这些类型的问题,但是对我或我的托管网站需要做些什么来解决这个问题的任何帮助都会非常感激
不确定这是否有帮助,但我曾经遇到过同样类型问题的客户.他们的网站托管公司做了一些改变,导致他们的网站出现类似的错误.通过在web.config中的System.Web部分中添加以下内容来管理以使事情再次起作用:
如果这不能解决您的问题,并且在新的一年之前网站主机无法解决问题,我会认真考虑切换托管服务提供商.