Мое приложение использует WebRequest в определенные моменты, чтобы получать страницы от себя.
Это не должно быть проблемой. На самом деле он отлично работает на сервере, который является «общим» хостинг-пакетом со средним доверием. Локально я использую настраиваемую политику безопасности на основе среднего доверия, которая включает следующее - скопировано прямо из политики среднего доверия по умолчанию:
<IPermission
class="WebPermission"
version="1">
<ConnectAccess>
<URI uri="$OriginHost$"/>
</ConnectAccess>
</IPermission>
Неправильная строка в пользовательском XmlRelativeUrlResolver:
public override object GetEntity( System.Uri puriAbsolute, string psRole, System.Type pReturnType )
{
return _baseResolver.GetEntity( puriAbsolute, psRole, pReturnType );
}
Запрашиваемый URL находится на локальном хосте в том же приложении, что и запрашивающий. Вот вершина трассировки стека.
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
at System.Net.HttpWebRequest..ctor(Uri uri, ServicePoint servicePoint)
at System.Net.HttpRequestCreator.Create(Uri Uri)
at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
at System.Net.WebRequest.Create(Uri requestUri)
at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at flow.controls.XmlRelativeUrlResolver.GetEntity(Uri puriAbsolute, String psRole, Type pReturnType) in c:\flow\source\controls\DataTransform.cs:line 105
at System.Xml.Xsl.Xslt.XsltLoader.CreateReader(Uri uri, XmlResolver xmlResolver)
Кто-нибудь видит проблему здесь?
@ Sijin: Спасибо за предложение. URL-адрес, который отправляется распознавателю, основан на URL-адресе запроса, и я подтвердил в отладчике, что доступ к сайту на 127.0.0.1 дает тот же результат.