ASP.NET WebPermission安全异常

ASP.NET WebPermission安全异常,asp.net,system.security,Asp.net,System.security,我通常不喜欢发布这些类型的问题,因为通常我发现真正学习的最好方法是自己找出答案 然而,我需要尽快回答这个问题,因为我有一个客户因为这个问题无法经营她的业务 昨天,我的ASP.NET主机提供程序将我的应用程序从运行.NET 1.1的服务器移动到运行.NET 1.1和2.0的服务器。我的问题是,当我测试移动时,不会加载主站点页面(Default.aspx) “说明:应用程序试图执行安全策略不允许的操作。若要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改应用程序的信任级别。 异常详细

我通常不喜欢发布这些类型的问题,因为通常我发现真正学习的最好方法是自己找出答案

然而,我需要尽快回答这个问题,因为我有一个客户因为这个问题无法经营她的业务

昨天,我的ASP.NET主机提供程序将我的应用程序从运行.NET 1.1的服务器移动到运行.NET 1.1和2.0的服务器。我的问题是,当我测试移动时,不会加载主站点页面(Default.aspx)

“说明:应用程序试图执行安全策略不允许的操作。若要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改应用程序的信任级别。

异常详细信息:System.Security.SecurityException:请求“System.Net.WebPermission,System,Version=2.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。“

[SecurityException:请求“System.Net.WebPermission,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。] System.Security.CodeAccessSecurityEngine.Check(对象需求、堆栈爬网标记和堆栈标记、布尔值isPermSet)+0 System.Security.CodeAccessPermission.Demand()+59 System.Net.HttpWebRequest..ctor(Uri,ServicePoint ServicePoint)+147 System.Net.HttpRequestCreator.Create(Uri)+26 System.Net.WebRequest.Create(urirequesturi,布尔useUriBase)+298 System.Net.WebRequest.Create(Uri requestUri)+28 System.Web.Services.protocol.WebClientProtocol.GetWebRequest(Uri)+30 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebRequest(Uri)+12 System.Web.Services.Protocols.SoapHttpClientProtocol.GetWebRequest(Uri)+4 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[]参数)+52 PilateSplusPublin.PilateSplusPublinws.PilatesPlus.InsertException(字符串sModuleName,字符串SexException,Int32 iUserID)+97 pilatespludublin.main默认值。页面加载(对象发送方,事件参数)+144 System.Web.UI.Control.OnLoad(EventArgs e)+99 System.Web.UI.Control.LoadRecursive()+47 System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+7350 System.Web.UI.Page.ProcessRequest(布尔includeStagesBeforeAsyncPoint,布尔IncludeStagesSafterAsyncPoint)+213 System.Web.UI.Page.ProcessRequest()+86 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext上下文)+18 System.Web.UI.Page.ProcessRequest(HttpContext上下文)+49 ASP.maindefault\u aspx.ProcessRequest(HttpContext上下文)+4 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+358 System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+64“

如果托管站点上没有WebPermission,如何配置我的站点以允许访问该页面?是否有一些标记需要放入web.config?注意-我们无法访问machine.config或任何其他IIS设置


我知道人们不喜欢阅读和回答这些类型的问题,但我或我的托管网站需要做些什么来解决这一问题,对此我将不胜感激。

您的web应用程序是调用web服务还是访问外部网站?如果是这样,您可能需要与托管提供商交谈,并要求添加URI已添加到允许的连接终结点列表。

我将发布此消息,以防它对其他人有所帮助。在他们将提供商托管的现有ASP.NET站点移动到其他服务器之前,请发出警告

确保向他们询问网络权限和信任级别。

这是我的回答

“谢谢你的电子邮件

它失败是因为WebPermission在中等信任环境中不可用

目前我们无法对这些服务器进行任何更改,因为我们计划在今年年底之前将所有站点迁移到一对新集群上。我相信新的Windows群集将具有可用的WebPermission,因为它已在当前的Namesco Windows群集上启用。"


因此,他们希望我的客户的网站在新年前离线并失去业务。

作为对可能有相同问题的任何人的参考,我收到了这条准确的错误消息,无法找出问题所在,因为我没有更改本地框的任何设置


几分钟后,我意识到我无意中从Windows Server 2008上的网络共享打开了该项目。当然权限不正确!这真是愚蠢的举动,但如果它帮助了某个人,我愿意感到羞辱:)

不确定这是否会有帮助,但我曾经有一个客户遇到过同样的问题。他们的webhosting公司做了一些更改,导致他们的网站出现类似的错误。通过在Web.config的System.Web部分中添加以下内容,成功地恢复了工作:

<trust level="Full" />


如果这并不能解决你的问题,而网站托管者在新年到来之前就无法解决问题,我会认真考虑交换主机提供商。

确实是这样。它是我在同一个服务器上创建和托管的一个Web服务。我会联系他们的,非常感谢你的帮助。FF。你正在和一位不太知道你在说什么设置的技术人员交谈:谢谢Maxam,这是一个很好的起点。我会让你知道我的进展。你能在那之前搬回旧服务器吗?或者至少暂时搬回其他地方吗?可能比等待带来的业务损失要少。