这可能是由ASP.NET信任配置问题引起的。要检查信任级别打开以下文件在编辑器中:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config
(如果ASP.NET 2.0)
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\CONFIG\web.config
(如果ASP.NET 4.0)
您可能还需要编辑C:\WINDOWS\Microsoft.NET\Framework64
版本这些如果你在64位Windows上运行。
向下滚动到<securityPolicy>
配置部分看起来像:
<location allowOverride="false">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
<trustLevel name="High" policyFile="web_hightrust.config"/>
<trustLevel name="Medium" policyFile="web_mediumtrust.config"/>
<trustLevel name="Low" policyFile="web_lowtrust.config"/>
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
<trust level="Medium" originUrl=""/>
</system.web>
</location>
如果你看到比<trust level="Full" originUrl=""/>
其他任何这意味着服务器在部分信任运行。
打开.config
文件指定的相关policyFile
属性,例如web_mediumtrust.config
如果level="Medium"
。
服务器运行在低信任度以下的可能性极小。
找到<NamedPermissionSets>
部分,这下有一个<PermissionSet>
,看起来像:
<PermissionSet
class="NamedPermissionSet"
version="1"
Name="ASP.Net">
这包含了一些<IPermission>
节点。寻找一个叫WebPermission
,它看起来像这样:
<IPermission
class="WebPermission"
version="1">
如果它丢失或看起来像:
<IPermission
class="WebPermission"
version="1">
<ConnectAccess>
<URI uri="$OriginHost$"/>
</ConnectAccess>
</IPermission>
您需要添加或修改所以它看起来像:
<IPermission
class="WebPermission"
version="1"
Unrestricted="true"/>
此设置控制您的应用程序对URI的出站和入站访问。
它也可能是必要的,以确保SocketPermission
配置类似配置:
<IPermission
class="SocketPermission"
version="1"
Unrestricted="true"/>
来源
2010-09-22 00:37:51
Kev
这是一个很好的,彻底的答案 - 但我看到“ '所以我不能追求它。 –
2010-09-23 00:07:42
@kirk - 真遗憾。我不知道PayFlow服务,所以我都没有想法。 :( – Kev 2010-09-23 07:52:47