問題タブ [webhttpbinding]
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.
wcf - webHTTPBinding を使用して IIS 6 で REST WCF 3.5 をホストすると、IIS ログに 400 "Bad Request" とログイン失敗エラー 1380 が記録される
私は WCF を学んでおり、Visual Studio 2008 とその Web サーバーを使用して、私の開発環境で次のコードが動作しています。Web サービスを IIS 6 に発行すると、すべての要求で 400 "Bad Request" エラーが発生します。IIS ログを見ると、ステータス コードは 400 で、win32 ステータス コードは1380net helpmsg 1380
です。しかし、認証やセキュリティ メソッドを使用しない REST にはwebHTTPBindingを使用しています。
IIS では、「IUSER_<machine_name>」アカウントを偽装するように設定された匿名を許可するようにアプリケーションを設定しています。アプリケーション プールでは、Network Service ID を使用するように設定しています。両方のユーザーは、一時フォルダーと .net フレームワーク フォルダーにアクセスするように設定されています。WCF トレースをセットアップしましたが、ログが空白です。頭を壁にぶつけています。誰か助けてくれませんか?
web.config の System.ServiceModel 部分:
これが私のサービス契約です:
ブラウザーでは、VS2008 Web サーバーを使用して開発環境でテストするために次の URL を使用し、動作します。
IIS に公開して次の URL を使用すると、不正な要求ページが表示されます。
.svc 部分の後に誤った URL を入力したかのように、URL が正しいはずであることはわかっています。エンドポイントが見つからないというエラーが表示されますが、これは正常に機能しています。例えば:
IIS サーバー ボックスには、.net 2、3.0、および 3.5 がインストールされています。IIS Web アプリケーションは、.net 2 (.net 3.5 を使用) を使用するようにセットアップされています。また、serviceModelReg /i /x と /ia を実行して、WCF がインストールされ、登録されていることを確認しました。「Bad Request」エラー ページについては、IIS エラー ページではなく、WCF エラー ページのような HTML 形式であり、上部に紺色のバーがあり、白いタイトル「Request Error」とそれに続くメッセージ「Theサーバーでリクエストの処理中にエラーが発生しました。詳細については、サーバー ログを参照してください。 "
助けてください。
c# - メンバーシップ プロバイダー認証を使用した WCF WebHttpBinding
基本的な HTTP 認証モードを使用する WebHttpBinding サービスがありますが、何らかの奇妙な理由で、提供されたユーザー名/パスワードを Windows アカウントに対して検証します。
この問題を報告する他の投稿も見つけましたが、この状況に対する回答はありません。
wcf - WCF Web API と WebHttpBinding の比較
私は WCF RESTFull サービスの開発に不慣れで、新しい WCF Web API http://wcf.codeplex.com/と比較して webHttpBinding を使用することに関する有用な情報と経験のフィードバックを探しています。
私が探しているのは、webHttpBinding の欠点、したがって新しい Web API を使用する理由、特に新しい API が解決する問題について知ることです。両方を比較したり、webHttpBinding を使用する際の問題について話しているブログ記事をいくつか教えていただければ幸いです。前もって感謝します。
asp.net-mvc - wcf サービス内での Cookie の設定
wcf rest サービスを使用する asp mvc アプリケーションがあります (すべて同じボックスにあります)。認証呼び出しのために、wcf rest サービス内に Cookie を設定しようとしています。
クライアント側のコード -
Web サービスでは、FormsAuthentication を使用して authcookie を設定するだけです。
資格情報がコードにハードコードされていると仮定すると、ブラウザページに物理的に移動した場合
(コード内のハード コード資格情報) 認証 Cookie が設定されていることがわかります。ただし、(上記のように) コードから呼び出すだけでは、認証 Cookie は設定されません。
私がここで見落としている明らかなものはありますか?
wcf - WCF の信頼性の問題
私の wcf サービスの信頼性をテストしようとしています。クライアント側からループ内で wcf サービスを呼び出しています。wcf rest サービス (webhttpbinding) は、いくつかのデータ処理を行い、レコードをデータベースに挿入します。操作全体がトランザクション内で行われます。
InstanceContextMode を PerCall に設定すると、約 60 のメッセージ (ループ内から呼び出されるサービスの 60 倍) のうち 40 のみがデータベースに送信されることがわかりました。エラーも例外もありません。メッセージはドロップされているだけです。
InstanceContextMode を Single に設定すると、すべてのメッセージがデータベースに送信されます。InstanceContextMode.Percall は不可逆であり、予想される動作ですか? また、並行性を設定していません。明確化は非常に役立ちます。コードを追加しました。MySQLをデータベースとして使用...
編集私の悪い-サーバー側で例外が発生することに気づきました-{「ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションを再起動してください」}
これは、トランザクションの進行中に、同じレコードに対して呼び出された別のトランザクションがあるためです。一度失敗した場合、トランザクションを再起動することで修正します。
サービス
リポジトリ クラス コンストラクターは、オブジェクト コンテキストを初期化します。
コード - サービス呼び出し
クライアント側はループでサービスを呼び出すだけです
wcf - Cookie を wcf サービスに渡す
認証Cookieを期待するwcf webhttp(rest)サービスがたくさんあります。質問は、formsauth チケットを wcf サービスに渡すにはどうすればよいですか? フロー認証は、ブラウザーを介した get 要求に対しては正常に機能しますが (そうあるべきです)、httpclient または webchannelfactory を使用して呼び出し中に Cookie を設定する方法がわかりません。この時点で認証が完了し、Cookie が使用可能になります。HttpClient を介してサービスを呼び出すときに、Cookie を挿入する場所がわかりません。
また、次の URL に従って webchannelfactory を使用しようとしました - http://zamd.net/2009/03/05/flowing-forms-authentication-cookie-to-wcf/
ただし、var identity = Thread.CurrentPrincipal.Identity as ClientFormsIdentity;
Thread.CurrentPrincipal.Identity が有効な FormsIdentity であっても、null を返します。どんな提案でも大いに役に立ちます。
wcf - WebHttpBinding 認証は無視されました
REST サービスで基本的な HTTP 認証を使用しようとしていますが、プロキシをデバッグすると、認証ヘッダーがまったく送信されず、無視されます。これが私のコードです:
ImyService proxy = factory.createchannel();
proxy.SomeMethod();
...
HTTP 要求は、クライアント認証方式「基本」では許可されていません。サーバーから受信した認証ヘッダーは '' でした。
サーバー スタック トレース: System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest 要求、HttpWebResponse 応答、WebException responseException、HttpChannelFactory ファクトリ) で System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest 要求、HttpWebResponse 応答、HttpChannelFactory ファクトリ、WebException 応答例外、 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan タイムアウト) で System.ServiceModel.Channels.RequestChannel.Request(メッセージ メッセージ、TimeSpan タイムアウト) で System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway,ProxyOperationRuntime 操作、Object[] ins、Object[] outs、TimeSpan タイムアウト) System.ServiceModel.Channels.ServiceChannel.Call(String アクション、Boolean oneway、ProxyOperationRuntime 操作、Object[] ins、Object[] outs) at System.ServiceModel System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage メッセージ) での .Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime 操作)Invoke(IMessageメッセージ)Invoke(IMessageメッセージ)
[0] で例外が再スローされました: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) で System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 タイプ) ...
wcf - WCFwebHttpBinding投稿からapacheサービスへ
WCFクライアントからApacheサービスと通信しようとしています
私は次のようにクライアントを設定しました:
私の契約は次のようになります
受信側でどのフレームワークが使用されているかはわかりませんが、ユーザー変数とアクション変数はget変数として表示され、jsonペイロードはまったく表示されません。
WCFサービスを使用していくつかのローカルテストを実行しましたが、正常に機能します。
何が間違っているのか考えてみてください。
c# - .NET 4.0のWebHttpBinding?
.NET 4.0のSystem.ServiceModelおよびSystem.ServiceModel.Webライブラリを参照するときに、WebHttpBindingクラスをインスタンス化できません。3.5ライブラリを参照するときにクラスをインスタンス化できます。ドキュメントには、WebHttpBindingは4.0でサポートされていると記載されていますが、何が間違っているのでしょうか。
Ctrlキーを押したとき+。WebHttpBindingでは、その名前空間が見つかりません。
http://msdn.microsoft.com/en-us/library/system.servicemodel.webhttpbinding.aspx
wcf - DataContractJsonSerializer と maxItemsInObjectGraph
DataContractJsonSerializer の maxItemsInObjectGraph を設定するにはどうすればよいですか?
というエラーが表示されます"Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota."
番号65536はどこから来たのですか. DataContractJsonSerializerのドキュメントによると、デフォルトは Int32.MaxValue です。
動作構成で設定しようとしました:
しかし、次のようなエラーが発生します。"Invalid element in configuration. The extension name 'dataContractJsonSerializer' is not registered in the collection at system.serviceModel/extensions/behaviorExtensions."
動作を変更して<dataContractSerializer maxItemsInObjectGraph="500000"/>
もエラーは発生しませんが、値は変更されません (dataContractSerializer を使用していないため、驚くことではありません)。
クライアントは ChannelFactory で作成されるため、ここで説明されているように ServiceBehavior 属性を使用できませんここ