문제

.NET 웹 서비스에서 데이터를 가져와야하는 Delphi에 작성된 사이트가 있습니다. 웹 서비스를 소비하기 위해 최종 사용자가 작성 해야하는 마법사가 포함 된 .NET 웹 사이트에 첨부하고 있는데, 이는 Ajax 드롭 다운 목록을 채우고 AJAX 드롭 다운 목록을 채우기 위해 웹 서비스를 호출하는 것입니다. 호출 Delphi 웹 응용 프로그램으로 데이터를 반환합니다.

그래서 분명히 ...

  1. Delphi 웹 사이트는 .NET 웹 사이트를 엽니 다
  2. .NET 웹 사이트는 .NET 웹 서비스에서 Ajax 드롭 다운 목록을 채 웁니다.
  3. 사용자가 .NET 웹 마법사에서 제출을 클릭하면 .NET 웹 서비스를 호출하여 데이터를 가져와 델파이 웹 사이트로 돌아갑니다.

그러나 .NET 웹 서비스를 호출하여 드롭 다운을 채우기 위해 IE6 (및 실제로 모든 브라우저)이이를 크로스 도메인 보안 위협으로 취급 할 수있게되며 "이 페이지는 제어가 아닌 정보에 액세스하고 있습니다. 이렇게하면 보안이 제기됩니다. 위험 ... "오류.

드롭 다운 코드는 다음과 같습니다 (도움이되는 경우) ...

.apSx 파일에서

<asp:DropDownList ID="DocCategoryDropDown" 
              runat="server" 
              OnSelectedIndexChanged="DocCategoryDropDown_SelectedIndexChanged"
              AutoPostBack="true">
</asp:DropDownList>
<ajaxToolkit:CascadingDropDown ID="DocCategoryCascadingDropDown" 
                           runat="server" 
                           TargetControlID="DocCategoryDropDown"
                           LoadingText="[Loading...]" 
                           Category="CategoryId" 
                           UseContextKey="True" 
                           ContextKey="NY"
                           PromptText="Select a Category" 
                           ServiceMethod="GetDocCategory" 
                           ServicePath="tba">
</ajaxToolkit:CascadingDropDown>

C# 파일에서

DocCategoryCascadingDropDown.ServicePath = path;

PATH가 웹 사이트와 동일한 서버에있는 경우 잘 작동하지만 경로가 아닌 경우 경고를 받으므로 크로스 도메인 보안 문제 여야합니다.

이전에 Java Web Services와 비슷한 문제가 있었으며 마법사와 웹 서비스가 동일한 도메인에 존재하는 것처럼 보이고 오류를 중지하기 위해 Apache에서 프록시를 사용 하여이 문제를 해결했습니다.

누구든지 내가 IIS에서 어떻게 같은 일을 할 수 있는지 말해 줄 수 있습니까?

더 많은 정보를 제공 할 수있는 경우,이 문제를 최대한 빨리 해결하고 싶으므로 알려주십시오.

미리 감사드립니다.

도움이 되었습니까?

해결책

좋아, 많은 인터넷 검색 (및 치아를 gnashing) 후에는 솔루션을 설명하는 데 도움이되는이 웹 사이트를 발견했습니다.

http://dotnetslackers.com/columns/ajax/mashitupwithaspnetajax.aspx

그냥 물어 보는 방법을 아는 것이 얼마나 중요한지 보여주세요. 오른쪽 의문 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top