2017-10-20 11 views
1

私はバックエンド開発者ではないため、十分な情報を提供しないと事前にお詫びします。バックエンドの開発者が私が何をしようとしているのかを理解するのに役立つリソースを探しています。ASP.NET Webフォームの特定のURLでCORSを有効にする

私は、ASP.NET Webフォームを使用して構築されたWebアプリケーション内のRSSフィードにAJAX GETリクエストを作成しようとしています。ただし、クロス・オリジン・セキュリティのためにリクエストがブロックされます。 RSSフィード(/page/rss/{id})に関連付けられているルートでCORSを有効にします。それは私が欲しいものではありません、プロジェクト全体のためにそれを可能にし、

<httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Origin" values="*" /> 
     <add name="Access-Control-Allow-Methods" values="GET" /> 
     <add name="Access-Control-Allow-Headers" values="Content-Type" /> 
    </customHeaders> 
</httpProtocol> 

しかし:

は、私が使用して私たちのWebConfigでCORSを有効にすることができました。私たちのルートは、このようなXMLファイルで定義されています。

<namespace.routing> 
    <routings> 
    <route name="publishedPage" url="page/{PageName}" page="~/Default.aspx" /> 
    </routings> 
    <defaults> 
    <default url="http://blog.example.com" domain="example.com" page="page/homepage" /> 
    </defaults> 
</namespace.routing> 

だから、どのように1は、ASP.NET Webフォームで特定のパスにCORSを有効にするに行きますか?誰かが私たちを助けるいくつかのリソースの方向に私を指摘することができればそれは素晴らしいものになるでしょう。これ以上の情報が必要な場合は、私はそれを提供して喜んでいます。ありがとう!

答えて

3

rssエンドポイントの返信方法はわかりませんが、HttpContextオブジェクトにアクセスできる場合は、CORSヘッダーを直接使用することができます。

HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*"); 
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Methods", "Get"); 
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Headers", "Content-Type"); 

あなたのアプリがある何歳に応じて、AddHeaderの代わりAppendHeaderを使用する必要があります。

+0

ありがとうございます。私はこれを持ち上げて、それがうまくいくかどうかを確認します –

+0

それは解決策でした。 –

関連する問題