さて、私は物事を壊すために行きたいという欲求不満のポイントにほとんど到達しました. もちろん図的に言えば。
約 1 週間、私は C# で記述された Web サービス (WCF、ASMX Web サービス、私は気にしない、何が最善か) を作成することを学び、JQuery/AJAX を使用して Web サービスにアクセスしたいと考えています (ASP. NET Web フォームが原因で AngularJS を使用したくなる)、またはそのほうがよい場合は、WCF を呼び出すプロキシを生成します。
これまでに試したこと: 通常の Web サービスから始めました (Visual Studio 2012 の場合: 空の ASP.NET Web アプリケーションを開始し、それに Web サービスを追加します)。Web サービスを実行すると動作します。次に、Web サービスを IIS に発行して、別のコンピューターからアクセスできるようにします。そして、最初の問題が現れ、うまくいきません。IIS に ASP.NET をインストールする必要があったようです。それは機能しますが、別のコンピューターで Web サービスを呼び出すと、ローカル マシンでしか Web メソッドを呼び出すことができないというメッセージが表示されます。
このメッセージを見ると、多くの同じ結果が得られます。web.config を構成する必要があり、それに httpGet および httpPost タグを追加する必要があります。だから私はそれをしますが...それでもうまくいきません。さらに検索しても、正しい答えや解決策が得られません。
しかし、私が読んだのは、この方法の Web サービスは時代遅れであり、WCF を使用する必要があるということです。私はこれを機能させたいので、サービスが c# であり、クライアントが JS (AngularJS を使用) である限り、どのような方法でもかまいません。満足しています。
それで、私はチュートリアルを検索し、それらの多くを見つけ、それらの多くに従いましたが、少なくとも私にとってはどれも機能しませんでした. エラーとメッセージは私が受け取るものであり、1 つのメッセージまたはエラーを解決すると、次のメッセージが表示されます。
WCF を使用すると、操作コントラクトを呼び出すことができるようになりましたが、操作コントラクトのパラメーターを渡すことができませんでした。多分Json構文エラー?知らない。StackOverflow に関するいくつかの回答によると、RequestFormat を追加する必要がありました。だから私はしました。また、WebGet を WebInvoke に変更する必要もありました。しかし、405 エラーが発生して検索すると、Post/Get の問題のようです。そのため、AJAX 呼び出しの Type を Post に変更します (これはサービス ヘッダーに従っている必要があります) が、呼び出しは GET のままです。そして、私はそれを理解できず、長い間試した後、イライラし始めました.
結論としては、Web サービスに関するベスト プラクティスは何ですか? 最終的に実際に機能するように、すべてのポイントを処理する優れた書かれたチュートリアルはありますか? または、何が間違っていますか?原因は、おそらくインターネット上に何千もの Web サービスがあるため、間違いなく私が何か間違ったことをしているということです。