Файл междоменной политики для Actionscript 3.0

Мне нужно получить доступ к странице ASP.Net2 из Action Script 3.0, и я написал код в файле .fla, который обращается к странице asp.net, но есть проблема с доступом к ней, сообщает мне следующую ошибку:

Ошибка при открытии URL-адреса «http://localhost/Trial/Default.aspx. Ошибка № 2044: необработанная ошибка ioError. :. текст = Ошибка № 2032: Ошибка потока. URL-адрес: http://localhost/Trial/Default.aspx в Script1/sendSQLXML() в Script1$ иинит()

и после поиска я обнаружил, что это проблема, связанная с междоменной политикой, поэтому я создал файл XML с именем Crossdomain.xml со следующим кодом:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">


<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

и я не знаю, как использовать его из ACS3 и куда его поместить. Примечание: я запускаю страницу Asp.Net2 в IIS.


person Ahmy    schedule 24.03.2009    source источник
comment
Это не связано с файлом междоменной политики.   -  person bzlm    schedule 29.03.2009
comment
Я решил проблему, и файл политики помещается при удаленном доступе к серверу, но в моей проблеме я обнаружил, что данные, отправленные по URL-адресу, вызывают проблему из-за неправильного синтаксиса, который не принимается в URL-адресе. и я слишком благодарен за ваше большое внимание   -  person Ahmy    schedule 31.03.2009


Ответы (4)


Посмотрите на метод loadPolicyFile(..): http://livedocs.adobe.com/flex/3/langref/flash/system/Security.html#loadPolicyFile()

person Peter Richards    schedule 24.03.2009
comment
я использовал следующий код: Security.loadPolicyFile(localhost/Trial/crossdomain.xml); и он сообщает мне следующую ошибку: Security.loadPolicyFile(localhost/Trial/crossdomain.xml); и указывает на новую строку вставленного кода. - person Ahmy; 24.03.2009
comment
Вы добавили строку импорта для класса Security? импортировать flash.system.Security; - person Peter Richards; 24.03.2009
comment
Также только что заметил, что у вас есть дополнительный ; в конце. У вас есть .xml;); и это должен быть просто .xml); - person Peter Richards; 25.03.2009
comment
я импортировал требуемый пакет (flash.system.Securit;), но проблема все еще существует, и я сообщаю о следующей ошибке: Ошибка при открытии URL-адреса 'localhost/Trial/Default.aspx' Ошибка № 2044: необработанная ошибка ioError:. текст = Ошибка № 2032: Ошибка потока. URL-адрес: localhost/Trial/Default.aspx - person Ahmy; 25.03.2009

ЕСЛИ вы работаете локально (http://localhost/Tri...), я не уверен что проблема возникает из-за некоторых проблем с кроссдоменом...

person OXMO456    schedule 24.03.2009
comment
так откуда проблема? Есть ли какие-либо проверки, которые я должен сделать? - person Ahmy; 24.03.2009
comment
чтобы помочь вам больше, вы должны опубликовать код AS3... и рассказать нам, что возвращает ASP.net (текст, двоичный файл, поток...?). сердечно, - person OXMO456; 25.03.2009
comment
я написал код кода ASC3 и Asp.net в предыдущем вопросе, но ответа нет, проверьте его по следующему URL-адресу: stackoverflow.com/questions/670702/ и код asp.net просто: response.write(тест выполнен успешно); - person Ahmy; 25.03.2009
comment
хорошо... ваш код AS3 кажется правильным, к сожалению, я не знаю ASP.NET... извините - person OXMO456; 25.03.2009

Обычно междоменный файл помещается в корень сервера, если вы работаете локально, у вас не должно быть междоменных проблем, но вы можете попробовать поместить его в c:\inetput\wwwroot\ и посмотреть, решит ли это вашу проблему. .

person Raul Agrait    schedule 28.03.2009

crossdomain.xml помещается в корень сервера, к которому вы пытаетесь получить доступ. это расположение по умолчанию, так что вам не нужно вызывать Security.loadPolicyFile()

person Scott Evernden    schedule 29.03.2009