問題タブ [wcf-web-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2049 参照

wcf - 複数のパラメーターをWCFWebAPIサービスに渡します

WCF-Webサービスを作成するときに発生する舞台裏の魔法について疑問に思っています。

ある古いプロジェクトでは、JavaScriptから次のようなメソッドを呼び出すことができます。

これは、JavaScriptから{"x": "something"、 "y":1、 "z":1.5}を送信すると機能します。

そのWebサービスの作成から数か月後、私はWCF Web APIを見つけて、同様のものを作成しようとしました。

違いは、HttpServiceHostFactory()を使用してGlobal.asaxにルートを作成したことです。

メソッドを呼び出そうとすると、次のような例外が発生します

例外の詳細:System.InvalidOperationException:HttpOperationHandlerFactoryは、サービス操作'Invoke_LoginRequest'の要求メッセージコンテンツに関連付ける必要がある入力パラメーターを決定できません。操作が要求メッセージの内容を予期しない場合は、操作でHTTPGETメソッドを使用します。それ以外の場合は、1つの入力パラメーターのIsContentParameterプロパティが「True」に設定されているか、次のいずれかに割り当て可能なタイプであることを確認してください:HttpContent、ObjectContent1 1, HttpRequestMessage or HttpRequestMessage

そしてそれを機能させるには、このようなメソッドを宣言する必要があります(VB.Net)

ただし、JsonValueを手動で解析する必要があります。では、古いバージョンは実際にどのように機能しますか?そして、私がその振る舞いを取り戻すことができる方法はありますか?

よろしくジェスパー

0 投票する
1 に答える
1599 参照

windows-phone-7 - BackgroundTransferRequest WP7

バックグラウンド転送を使用して、写真を Web サービスにアップロードしています。写真のアップロードはかなりの時間とメモリを消費する可能性があるため、バックグラウンド転送リクエストを使用してこれを達成するのは良い考えだと思いました。写真がアップロードされた後、アップロードされた写真の Id を取得し、それを後処理に使用したいと考えています。しかし、バックグラウンド転送リクエストではそれができないことがわかりました。

私の理解では、バックグラウンド転送は次のロジックのみを使用して機能します。

  1. アップロードするファイルを取得し、アプリの分離ストレージのshared/transfersフォルダーに保存/コピーする必要があります。これは非常に重要です。どうやら、別の場所にあるファイルを使用してもうまくいきませんでした。たぶん、それは「相対」パスであるほど共有/転送ではありません。しかし、私は同じ慣習に固執します。

  2. その場所にファイルを保存したら、それに基づいてバックグラウンド リクエストを作成できます。ファイルの内容以外に POST CONTENT を渡すことができないように見えるため、ファイル名、MIME タイプなどの他のパラメーターは、QUERY 文字列パラメーターとしてのみ渡す必要があります。これは理解できますが、両方を POST Content として渡すことができればよかったのにと思います。これがどのように機能するかについて、HTTP に制限があるとは思いません。

Hammock を使用してリクエストを作成するためのコードを次に示します。

私の場合、文字通り、クエリ文字列を使用して必要なすべてのパラメーターを渡しています。保存が成功すると、アップロードしたばかりの写真の ID が Web サービスから返されます。ただし、応答を取得して評価する方法はありません(または少なくとも私が知っています)。バックグラウンド転送要求イベント ハンドラーは、RESPONSE を公開しません。ここに私のイベントハンドラがあります:

だから今私の質問は、そのようなシナリオで誰かがどのように POST 処理を行うのですか? このような柔軟性のないクラスを設計する背後にある考え方を誰か教えてもらえますか? この問題を回避する方法についての考えをいただければ幸いです。

また、自家製の BackgroundTransfer の実例はありますか?

0 投票する
2 に答える
688 参照

wcf - HTTPS を使用した WCF Web API

文脈を入れるだけです。ASP.NET MVC2 Web API 5 IIS 7

WCF Web API を使用しようとしていますが、HTTPS を有効にするとすぐに機能しなくなります。

私が気付いたこと: jquery を介して行う API 呼び出しで、URL として次のようなものがあり ます。

API テスト UI を使用すると: https://www.domain.com/api/serviceApi/Test テスト URL が表示されます: https://devserver.ad.domain.com/api/serviceapi/SetForeignToken? token=ASDAS-ASDAS-ASDASD-ASDASDAS&foreignToken=AS123ASD 以前は HTTPS なしで行っていたように、通常の DNS を保持するのではなく、DNS をマシン名に解決するのは奇妙に思えます。

HTTPSでこれを機能させるようにAPIを構成する方法を知っている人はいますか、それとも可能ですか?

ありがとう、

PS。開発環境には自己署名証明書があり、本番環境には実際の証明書があります。

0 投票する
2 に答える
1170 参照

.net - 動的な型/Expandos を返すために WCF Web Api で大規模ですか?

WCF Web Api でのデータ アクセスに Massive を使用し、Web API から動的または ExpandoObject / IEnumerable<ExpandoObject> を返したいと考えています。

これは基本的に、Json.NET の ExpandoObject シリアル化を使用する JsonNetMediaTypeFormatter を使用して動作していますが、すべてが次のような Json のキーと値のペアとして返されます。

しかし、私が欲しいのは:

次のような具象型を使用しているかのように:

WCF Web Api から返されたときに、動的/ExpandoObject を具象オブジェクトのようにフォーマットする方法についてのアイデアはありますか?

0 投票する
1 に答える
200 参照

c# - サービスクラスの複雑さを軽減

WCF WebApiプレビュー5を使用してWebAPIを開発しています。現在、リソースクラスは完全に機能していますが、このリソース内のメソッドが複雑になっていることに気づきました。

例えば:

お気づきかもしれませんが、このメソッドには新しい物理テストを投稿するタスクがありますが、実際にはモデルも検証しています(まだ多くの検証、プロパティ検証が欠落しています)。これはこのクラスの問題ではありません。リソース内のメソッドの複雑さを軽減するための親しみやすい方法はありますか?

0 投票する
4 に答える
3516 参照

c# - モデル プロパティの検証 WCF Web APi

私は WCF Web Api でホストされている一連のサービスを持っています。私がする必要があるのは、アプリのモデル内のプロパティを検証することです。

たとえば、MVC 3 では、モデルのプロパティを次のように装飾します。

次に、コントローラーで次のように進めて、モデルが検証パラメーターを満たしていることを確認します。

WCF Web Api で同様のことを行う方法はありますか?

0 投票する
2 に答える
820 参照

xml - WebAPIを利用するWCFWebサービスでJsonValueオブジェクトをXMLとの間でシリアル化/逆シリアル化するにはどうすればよいですか?

そのため、最新のWebAPIアセンブリを使用してWCFWebサービスに取り組んでおり、JsonValueオブジェクトが大好きです。

私がやりたいのは、JsonValueオブジェクトにバインドされているJSONを受け入れ、そのJsonValueオブジェクトを同等のXML表現に変換して、処理のためにストアドプロシージャに渡すことができるようにすることです。これにより、JsonValueをバインドするオブジェクトを作成する必要がなくなり、物事が流動的になります。

次に、データベースからXML形式でデータを選択し、それをJsonValueに変換してクライアントに返すことができるようにしたいと思います。

この拡張メソッドによって、JsonValueをXMLの文字列表現に変換することができました。

これを行うためのより良い方法はありますか?この方法は問題ありませんが、私はただ疑問に思っていました。

また、Json.NETライブラリを使用してXML文字列値をJsonValueに変換し直し、XML文字列をJSON文字列に変換してから、次のように文字列をJsonValueオブジェクトにロードすることもできます。

このアプローチは問題ありませんが、この1つのメソッドのみに含めるため、Json.NETライブラリに依存する必要はありません。Json.NETライブラリを使用せずにこれを行う方法はありますか?

助けてくれてありがとう!

ダニエル

0 投票する
4 に答える
423 参照

wcf - WCFRestfulAPIを構築するためにどのフレームワークを選択する必要がありますか

WCFを使用してRestfulAPIを構築したいのですが、これを実現する方法を決定するのに苦労しています。

WCF Rest Starter Kitは、.Net 3.5用に開発されており、プレビュー2を超えて進行していません。現在の.NETFrameworkおよびVisualStudio 2010内で使用できますが、私の調査では、水中で死んでいて、現在プレビュー5にある新しいWCFWebAPI。

一方、WCF Web APIはプレビュー段階にあるだけであり、リリース前に多くのことが変更される可能性があるため、本番アプリケーションで実際に使用するべきではありません。また、完成が近づいているかどうか、次の.NET Frameworkリリースに含まれるかどうか、またいつ予定されているかについても示されていません。

私は自分が岩と困難な場所の間にいることに気づき、可能であれば、これに関するガイダンスを提供するために、より広いコミュニティに目を向けています。