WCF RIA Servicesには、JSONを有効にするために使用できるMicrosoft.ServiceModel.DomainServices.Hosting.JsonEndpointFactoryが含まれています。 JSONP経由でドメイン間コールを有効にする必要があります。これを実現する既存のDomainServiceEndpointFactoryはありますか?クロスドメインコールを有効にするためにWCF Ria ServicesのJSONPエンドポイントを追加するにはどうすればよいですか?
1
A
答えて
1
私はこれを行う必要がありました.JsonEndpointFactoryをオーバーライドしてそこにバインディングを付けてから、新しいクラスを使用してエンドポイントを追加しました。
namespace Bodge
{
public class JsonPEndpointFactory : JsonEndpointFactory
{
public override IEnumerable<ServiceEndpoint> CreateEndpoints(DomainServiceDescription description, DomainServiceHost serviceHost)
{
IEnumerable<ServiceEndpoint> endPoints = base.CreateEndpoints(description, serviceHost);
foreach (ServiceEndpoint endPoint in endPoints)
{
if (endPoint.Binding is WebHttpBinding)
{
((WebHttpBinding)endPoint.Binding).CrossDomainScriptAccessEnabled = true;
}
}
return endPoints;
}
}
}
<endpoints>
<add name="JSONP" type="Bodge.JsonPEndpointFactory, Bodge, Version=1.0.0.0"/>
</endpoints>
次に、エンドポイントとコールバッククエリのパラメータでサービスにアクセスします。 http://blah/service.svc/JSONP/GetStuff?callback=callbackname
希望があれば、 Chris。
+0
ありがとう、これは私が探していたものです。 – JJS
1
コメントの書式設定はあまり良くありません。今後の参考にするには、使用するアセンブリとアセンブリを参照してください。 !
名前空間::非常に多く、それは私がまさに必要だ
おかげで今後の参考のために、これらは使用してステートメントです
using System.Web;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.ServiceModel.DomainServices.Hosting;
using System.ServiceModel.DomainServices.Server;
using Microsoft.ServiceModel.DomainServices.Hosting;
アセンブリ
NETFX 4.0
System.ServiceModel
System.ServiceModel.Web
System.ServiceModel.DomainServices.Hosting
System.ServiceModel.DomainServices.Server
WCF RIA Services Toolkit (September 2011)
Microsoft.ServiceModel.DomainServices.Hosting
関連する問題
- 1. WCF RIA Servicesフレームワークでドメインサービス間でエンティティを共有するにはどうすればよいですか?
- 2. AppHarborでWCFサービスのGZIP圧縮を有効にするにはどうすればよいですか?
- 3. PRISM 4でWCF RIA Servicesを使用するには?
- 4. RIA Servicesクエリのデータバッファサイズの上限を上げるにはどうすればよいですか?
- 5. チェックボックスの有効化でPayPalボタンを無効/有効にするにはどうすればよいですか?
- 6. wcf riaサービスでクライアント側のエンティティのインスタンスをリフレッシュするにはどうすればよいですか?
- 7. camel 'To'エンドポイントのURLに動的な値を追加するにはどうすればよいですか?
- 8. NavigationControllerでBackButtonを有効/追加するにはどうすればよいですか?
- 9. フラッシュデバッガを有効にするにはどうすればよいですか?
- 10. CORSを有効にするにはどうすればよいですか?
- 11. Googleマップを有効にするにはどうすればよいですか?
- 12. keydownイベントを有効にするにはどうすればよいですか?
- 13. Kafka:クライアントログを有効にするにはどうすればよいですか?
- 14. ブートストラップ4を有効にするにはどうすればよいですか?
- 15. Mockitoデバッグメッセージを有効にするにはどうすればよいですか?
- 16. DomainRuntimeMBeanを有効にするにはどうすればよいですか?
- 17. Javascript:stopPropagationを有効にするにはどうすればよいですか?
- 18. "-fnative-double"を有効にするにはどうすればよいですか?
- 19. データバインディングを有効にするにはどうすればよいですか?
- 20. スクロールを無効にしたウェブサイトでスクロールを有効にするにはどうすればよいですか?
- 21. D3でオーバープロットを避けるためにジッタを追加するにはどうすればよいですか?
- 22. 時間を節約するために分を追加するにはどうすればよいですか?
- 23. 画像をトリミングするためにcaffeスライスレイヤーを追加するにはどうすればよいですか?
- 24. サービススタックプラグインから新しいエンドポイントを追加するにはどうすればよいですか?
- 25. Androidのトグルボタンでトーストを有効または無効にするにはどうすればよいですか?
- 26. ステージに追加されたアクタにコールバックを追加するにはどうすればよいですか?
- 27. 編集のためにグリッドビュー内にカスケードドロップダウンを追加するにはどうすればよいですか?
- 28. JavaプログラムのためにEclipseにコンパイラフラグを追加するにはどうすればよいですか?
- 29. RIAサービスのSOAPエンドポイントを公開するにはどうすればいいですか?
- 30. javascriptで有効にするにはどうすればよいですか?
webHttpBindingのcrossDomainScriptAccessEnabledプロパティが有効になって必要とするものです。 EndPointFactoryがサービスインスタンスを作成しているときにこれを行う方法はありますか? – JJS