0

私が取り組んでいる WCF サービスは、古い CMS ホスティング API を置き換えるものです。

古いシステム/データベースの各クライアント サイトでは、次のように動作します。

clientdomain.comは、hostingdomain.com/clientdomain/ api.xmlの URL からそのコンテンツ (XML) を取得します(.xml 拡張子は、実際には clientdomain に基づいて XML としてエクスポートされる従来の ASP ページです)。

例:hostingdomain/clientdomain/photos/api.xml からの clientdomain.com/photos フィード

また、hostingdomain/ clientdomain2 /photos/api.xml などのように、すべてのクライアント ドメインに同じ api.xml ファイルが使用されます。

私は次のようなインターフェース設定でそれを推測しています:

[OperationContract]
        [WebInvoke(Method = "GET",
           ResponseFormat = WebMessageFormat.Json,
           BodyStyle = WebMessageBodyStyle.Wrapped,
           UriTemplate = "*clientdomain*/photos")]
        //method
        List<APIContentObject> GetPhotosBySiteID();

/client1/photos と /client2/photos が UriTemplates として利用可能であることを認識できるように、 URITemplateの clientdomain を db から取得したリスト/配列からフィードするように変更できますか?...またはそのような効果がありますか? または、何か不足していますか?... WCF でこの URI/URL 全体に問題があります...

少し違う方法で、photos.clientdomain.com のようなものを使用して、すべてのドメインをホスト ヘッダーとして追加し、....??.. そのルートに沿って何かを追加できますか? WCF とそのすべてのジャズでベスト プラクティスと安全なものは何でも。

これの目的は、最終的にモバイル アプリと Web サイトの両方がこの WCF からプルされるようにすることです。(それに続くプッシュ/プル管理アプリも)

古いシステムは、IIS の策略と古典的な ASP を使用していましたが、これは非常に興味深いものであり、私が置き去りにしているものです...だから...何かアイデアはありますか?

4

1 に答える 1

0

URL テンプレートは、操作コントラクト メソッドにパラメーターを設定できます。次のようなもの:

[OperationContract]
        [WebInvoke(Method = "GET",
           ResponseFormat = WebMessageFormat.Json,
           BodyStyle = WebMessageBodyStyle.Wrapped,
           UriTemplate = "{clientdomain}/photos")]
        //method
           List<APIContentObject> GetPhotos(string clientdomain)
{
    //Look up clientdomain in DB and return the right thing
}
于 2012-12-17T05:13:44.453 に答える