2012-03-22 11 views
3

私はServiceStackを使用していますが、シンプルで一般的な概念でなければならないことにアプローチする方法がわかりません。おそらく、これは2つの別々の質問として掲示されるべきです。ServiceStackサービスのクライアントとサーバーのURL

  • クライアントにサーバーURLを提供するにはどうすればよいですか。これは本質的にServiceStackの問題ではありませんが、私が見逃してしまったものがあるかどうかを知りたいのです。私は、クライアントデスクトップアプリケーション用の設定ファイルか、おそらくWebサービス検出機構のいずれかが考えられるかどうかを考えています。

編集:私は、クライアントが(家の中で展開され、いくつかのケースでは)デスクトップアプリケーションであり、サーバーのベース/ルートURLを参照しています。ほとんどのServiceStackの例では、ハードコードされた "localhost:82"を使用しています。だから、本当のURLを発見するメカニズムは、私は、クライアントが潜在的サービスについてはあまり知らずにナビゲートすることができるように、リンク(HREF年代)を提供したいと考えRESTfulなサービスを生成するには...

  • が必要とされています。これを行う簡単な方法はありますか?それは私の応答DTOを拡張し、これらの詳細をプッシュするのですか?心配するPOVの分離から、これを行う最善の方法とは感じられません。

ありがとう!

答えて

1

私は、ServiceStackメタデータページが組み込まれていると、両方のアカウントであなたを助けることができると思います。 http //:[service_root]/metadataで自動的に利用可能になります。たとえば:

http://www.servicestack.net/ServiceStack.Northwind/metadata

あなたは顧客にこのURLを提供することができ、そして、彼らは問題なくサービスと対話することができるはずです。すべてのサービス操作、呼び出し方法の違い、サポートされているコンテンツタイプのリクエスト/応答のサンプルなど、詳細な情報が表示されます。

[Description]属性を使用してリクエストDTOを飾ることで、操作の説明を追加してさらに明確にすることができます。

[Description("This is a service description for thinger.")] 
public class Thinger 
{ 
} 
+1

しかし、私はルートサーバーのURLを考えています - また、メタデータページを読むのではなくクライアントによって詳細をプログラムで見つけ出す方法についても詳しく説明しています。私の質問を更新しました。 – Jonno

関連する問題