問題タブ [openrasta]
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.
dotnetopenauth - OpenRasta HTTPEntity をリターン応答として使用すると 406 を取得しますか?
認証を行うためにユーザー エージェントのリダイレクトを行うために必要な openid ヘッダー/ボディを含むリダイレクト応答を返そうとするハンドラー コードで、操作の結果で HTTPEntity を使用して戻り応答を設定すると、クライアントで 406 を取得できませんか? それの何が問題なのですか?次のコードは完全ではなく、プロトタイプの品質です!
これが私のハンドラーコードです:
openrasta - OpenRastaで、カスタムIPipelineContributorで選択したハンドラーへの参照を取得するにはどうすればよいですか?
カスタムを作成する場合IPipelineContributor
、選択したハンドラーへの参照を取得する方法が明確ではありません。IDisposable
カスタムコントリビューターの目的は、結果を返した後に実装するハンドラーを破棄することです。
次のコードサンプルを考えます。
はICommunicationContext
、OpenRasta独自の型システムへのアクセスを提供し、選択されたハンドラーの型を明らかにします[OpenRasta.TypeSystem.ReflectionBased.ReflectionBasedType] = {CLR Type: MySelectedHandler}
。ただし、リクエストを満たすために実際に使用されたハンドラーのインスタンスを取得する方法は明確ではありません。
rest - バックエンドの一般的なアーキテクチャ?
私たちは、設計している新しいシステムのいくつかで、アーキテクチャの選択を前向きに見据えようとしています。使用するインターフェイス(WinForms、Silverlight、MVC、Webforms、WPF、IOS(IPad / iPhone)など)に関係なく、RESTを叫ぶだけのバックエンドシステムを構築したいと考えています。私たちの組織は通常、Microsoft APIのみを使用しますが、WCF-Web-Apiがいつリリースされるかわからないため、すぐに開始したいので、他に選択肢がないようです。
買い取りのチャンスを増やすために、ここで赤ちゃんの一歩を踏み出したいのです。したがって、IISを使用して別のサーバーをセットアップする必要はありません。
近い将来、WinFormsとWebFormsのみを使用する予定です。ローカルマシンでナンシーを使用できると思っていたのですが、RESTFulの方法で通信できます。そうすれば、将来的には、サーバーをセットアップして、すべてのクライアントをローカルではなくそのサーバーにリダイレクトするのと同じくらい簡単になるはずです。
私はNancyFXとOpenRastaのどちらも使用したことがありませんが、聞いたところによると、それはぴったりのように聞こえました。
したがって、質問は次のとおりです。
- 私がこれにアプローチすることを考えている方法は良いアプローチですか
- NancyFXまたはOpenRastaの方が適しているように聞こえますか?
- WCF-Web-APIを待つ必要がある理由、もしそうなら、だれかがおおよそのリリース日を持っています。
api - オプションの QueryString パラメータを使用した OpenRasta の回避策
昨年のこのバグレポートを見ました。
openrastaを使用してオプションのクエリ文字列パラメーターがある場合に、誰かが実装した回避策があるか、一致を許可するよう提案できるかどうか疑問に思っていましたか?
build - OpenRasta + OpenWrap?
OpenWrap と OpenRasta の両方が初めてです。それ以外のOpenwrapにはあまり興味がなく、OpenRastaを入手する方法のようです。とにかく、openwrapをインストールし、次のチュートリアルに従ってT: OpenWrapチュートリアルを実行しました
もちろん、OpenRasta-Core をプロジェクトに追加しました:
すべてがエラーなしで完了しますが、OpenRasta がプロジェクトに追加されません:
エラー 3 タイプまたは名前空間名 'OpenRasta' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) C:\Testing\OpenRasta\src\TestOpenRasta\Program.cs 7 7 TestOpenRasta
私は openwrap が機能する方法に精通していません。プロジェクトに参照を追加する必要があるのか 、参照を動的に追加するために msbuild マジックを実行するのかわかりません。
私のプロジェクトは.Net Framework 4.0を使用して構築されており、ラップディレクトリには.Net Framework 3.5バージョンのみが含まれているようです。ソースをダウンロードして手動でビルドする必要がありますか?
openrasta - デフォルトのパイプライン コントリビューターを削除する
デフォルトのパイプライン コントリビューター (OpenRasta 2.0.3) を削除するための推奨される方法は何ですか?
私はネット上でそれについて多くを見つけていませんが、1つの方法はカスタムDependencyRegistrarを書くことです。つまり、DefaultDependencyRegistrarから派生させてから、AddDefaultContributors()をオーバーライドします。それとは別に、パイプラインのコントリビューターを 1 つだけ削除するのが最善の方法であるとは思えません。追加のホストごと (ASP と InMemory) の作業が必要なようですが、パイプライン ハンドラーをいじるのはホストに依存しない問題だと考えています。
しかし、私がこの方法をとったとしても、この男は成功しなかったようです : http://groups.google.com/group/openrasta/browse_thread/thread/d72b91e5994f402bカスタム レジストラでデフォルトを置き換えます。
では、ホストに依存しない方法で、デフォルトのパイプライン コントリビューターを削除する最も簡単で最良の方法は何ですか? どこかに実際の例はありますか?
openrasta - PUT のエラー 405、IIS ログの「ignoreme.rastahook」
OpenRasta を使用した Asp.Net アプリケーションがあり、ほとんどの IISes (7.5) に展開すると、正常に動作します。ただし、あるインストールでは、PUT 要求の場合、クライアントは「405 メソッドは許可されていません」というエラーを受け取り、ログには次のようなエントリが表示されます。
2011-11-15 01:18:20 192.168.0.164 PUT /myapp/ignoreme.rastahook - 80 - 192.168.0.131 AClient 405 0 0 57
ignoreme.rastahookは、OpenRastaModule.cs での OpenRasta の書き換えから来ているようです。
HttpContext.Current.RewritePath(VirtualPathUtility.ToAppRelative("~/ignoreme.rastahook"), false);
GET と POST は正常に動作しますが、HTTP メソッドが本当に違いを生むかどうかはわかりません。何が起こっているのか、またはデバッグを開始する場所について何か考えはありますか? 私の現在の推測では、動作中のサーバーと動作していないサーバーの間の IIS 構成の違いです。
OpenRasta のバージョンは 2.0.3 で、.net 4 でアプリを実行しています。
更新: Fwiw、動作するサーバーの web.config で OpenRasta ハンドラー マッピングの動詞属性を "*" から "GET,POST" に変更すると、ログ ファイルにも "ignoreme.rastahook" が記録されます。 PUT ですが、405 ではなく 404 であるため、上記の問題とは異なるようです。
更新 2 WebDAV を有効にすると、405 / ignoreme.rastahook の問題を再現できることがわかりました。これにより、https://github.com/openrasta/openrasta-stable/wiki/Installing-OpenRasta-Under-IISにたどり着きました。
WebDAV モジュールが IIS 7.5 で問題を引き起こす可能性があることに注意してください。
更新 3 WebDAV が他のサーバーの問題の原因であること を確認しましたが、WebDAV を完全に無効にせずに問題を解決する方法を知っている人がいれば、感謝します。
rest - RESTで部分更新(PATCH)をサポートする方法
リソースが大きいため、リソースの部分的な更新を実装したいのですが、そこから部分的な情報を更新したいと思います。次のリンクを確認しましたが
、HTTPPOSTメソッドとPATCHメソッドのどちらを使用するかがわかりません。
http://jacobian.org/writing/rest-worst-practices/
https://github.com/archiloque/rest-client/issues/79
https://datatracker.ietf.org/doc/html/draft-dusseault-http-patch-16
http://greenbytes.de/tech/webdav/draft-dusseault-http-patch-06.html
http://jasonsirota.com/rest-partial-updates-use-post-put-or-patch
http://bitworking.org/news/296/How-To-Do-RESTful-Partial-Updates
https://github.com/dharmafly/jsonpatch.js
これに対する有効な解決策を提案してください。