問題タブ [wcf]
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.
asp.net - WCF サービス サポート ファイル jsdebug の読み込みに失敗する
クライアント側の JavaScript から呼び出される WCF サービスがあります。Service is null JavaScript エラーで呼び出しが失敗します。WebDevelopment ヘルパー トレースは、jsdebug サポート ファイルをロードする呼び出しが 404 (ファイルが見つかりません) エラーになることを示しています。
IIS を再起動するか、Temp ASP.Net ファイルをクリアするか、web.config のコンパイル タグで batch="false" を設定しても、問題は解決しません。
ブラウザから
https://Myserver/MyApp/Services/MyService.svcはサービスのメタデータを表示します
でも
https://Myserver/MyApp/Services/MyService.svc/jsdebugは 404 になります。
問題は https プロトコルにあるようです。http /jsdebug を使用すると、サポートする JS ファイルがダウンロードされます。
何か案は?
ティア
wcf - 二重コールバック用の WSDualHttpBinding
二重コールバックに WSDualHttpBinding を使用すると、実際のシナリオで機能しますか? たとえば、ランダム ポートを使用する .NET アプリケーションがあるとします。サービスはクライアントのベース アドレスとポートをコールバック用に解決できますか?
.net - WCF Datacontract の無料シリアル化 (3.5 SP1)
これを実際に機能させた人はいますか?この機能を有効にする方法に関するドキュメントは存在せず、3.5 SP1 プロジェクトがあるにもかかわらず、属性の例外が見つかりません。
wcf - WCF に要求でセキュリティを使用するように指示する方法はありますが、応答では無視しますか?
サード パーティの SOAP サービスに接続する必要があり、そのために WCF を使用しています。このサービスは Apache AXIS を使用して開発されたものであり、私たちはそれを制御することはできず、その動作を変更する影響力もありません。私たちが見ている問題は、要求が Web Services Security を使用してフォーマットされることを期待しているため、すべての正しい署名などを行っていることです。ただし、サードパーティからの応答は保護されていません。ワイヤーを盗聴すると、応答が正常に返されることがわかります (ただし、タイムスタンプや署名などはありません)。基礎となる .NET コンポーネントは、これをセキュリティ上の問題と見なすため、エラーとしてスローします。そのため、soap 応答を実際に受け取ることはありません。セキュリティで保護された要求を送信するために WCF フレームワークを構成する方法はありますが、応答にセキュリティ フィールドを期待しないでください。OASIS の仕様を見ると、そうではありません。
詳細については、次の例外があります。
受け取る例外は次のとおりです。
ちなみに、タイムスタンプを省略した場合、セキュリティ フィールドは想定されないという投稿をたくさん見てきました。これはオプションではありません - 私たちが通信しているサービスは、タイムスタンプを義務付けています。
wcf - WCF サービスを自動検出する方法
ネットワーク内の特定の WCF サービスを自動検出する方法はありますか? 可能であれば、アドレスを使用してクライアントを構成したくありません。
.net - 誤った SOAP 1.1 faultcode 値を生成する .NET WCF 障害
私は、FaultException と FaultException<T> を使用して、アプリケーションでの最適な使用パターンを判断しようとしています。SOAP 1.1 クライアントや SOAP 1.2 クライアントなど、WCF だけでなく、WCF 以外のサービス コンシューマー/クライアントもサポートする必要があります。
参考までに: FaultExceptions を wsHttpBinding で使用すると SOAP 1.2 セマンティクスになりますが、FaultExceptions を basicHttpBinding で使用すると SOAP 1.1 セマンティクスになります。
次のコードを使用して、FaultException<FaultDetails> をスローしています。
FaultDetails クラスは、以下に示すように、文字列 "Message" プロパティを含む単純なテスト クラスです。
wsHttpBinding を使用する場合の応答は次のとおりです。
これは、SOAP 1.2 仕様によると正しく見えます。メイン/ルートの「コード」は「送信者」で、「サブコード」は「MySubFaultCode」です。サービス コンシューマー/クライアントが WCF を使用している場合、クライアント側の FaultException も同じ構造を模倣し、faultException.Code.Name は「Sender」、faultException.Code.SubCode.Name は「MySubFaultCode」になります。
basicHttpBinding を使用する場合の応答は次のとおりです。
これは正しくありません。SOAP 1.1 の仕様を見て、FaultCode.CreateSenderFaultCode(new FaultCode("MySubFaultCode")) を使用すると、「faultcode」の値が「s:Client.MySubFaultCode」になると予想していました。また、WCF クライアントは正しくない構造を取得します。faultException.Code.Name は「Sender」ではなく「MySubFaultCode」であり、faultException.Code.SubCode は faultException.Code.SubCode.Name が「MySubFaultCode」ではなく null です。また、faultException.Code.IsSenderFault は false です。
FaultCode.CreateReceiverFaultCode(new FaultCode("MySubFaultCode")) を使用した場合の同様の問題:
- SOAP 1.2 では期待どおりに動作します
- 「s:Server.MySubFaultCode」の代わりに「s:MySubFaultCode」を生成し、SOAP 1.1 の faultException.Code.IsReceiverFault は false です。
この項目は、2006 年にhttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=669420&SiteID=1に他の人によって投稿されたもので、誰も回答していません。まだ誰もこれに遭遇していないとは信じがたいです。
同様の問題を抱えている他の人がいます:http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3883110&SiteID=1&mode=1
Microsoft Connect のバグ: https://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=367963
障害がどのように機能するかの説明: http://blogs.msdn.com/drnick/archive/2006/12/19/creating-faults-part-3.aspx
私は何か間違ったことをしていますか、それとも本当に WCF のバグですか?
wcf - .NET3.5でのDateTimeシリアル化のベストプラクティス
約4年前、このMSDNの記事に従って、.Net1.1およびASMXWebサービス(バックエンドとしてSQL 2000サーバーを使用)で.Netクライアントを構築するためのDateTimeの使用に関するベストプラクティスを確認しました。DateTimeで発生したシリアル化の問題と、さまざまなタイムゾーンのサーバーで行ったテスト作業を今でも覚えています。
私の質問は次のとおりです。特に、タイムゾーン対応情報を格納するための新しい日時タイプが追加された、WCFやSQLServer2008などのいくつかの新しいテクノロジに関する同様のベストプラクティスドキュメントはありますか。
これが環境です:
- 太平洋標準時のSQLServer2008。
- 別のタイムゾーンのWebサービスレイヤー。
- クライアントは、異なるタイムゾーンで.Net2.0または.Net3.5を使用している可能性があります。簡単にできる場合は、すべてのユーザーに.Net3.5へのアップグレードを強制できます。:)
各レイヤーで使用されるデータ型に関する適切な提案/ベストプラクティスはありますか?
.net - 複合型を渡すWCFの問題
System.Object型(WSDLではxs:anyType)のパラメーターを持つメソッドを定義するサービスコントラクトがあります。このパラメーターで単純型と複合型を渡せるようにしたいと思います。単純型は正常に機能しますが、WSDLで定義されている複合型を渡そうとすると、次のエラーが発生します。
要素' http://tempuri.org/:value 'には、'http://schemas.datacontract.org/2004/07/MyNamespace:MyClass'データコントラクトのデータが含まれています。デシリアライザーは、このコントラクトにマップされるタイプについての知識を持っていません。'MyClass'に対応するタイプを既知のタイプのリストに追加します。たとえば、KnownTypeAttribute属性を使用するか、DataContractSerializerに渡される既知のタイプのリストに追加します。
既知の型として追加しても、WSDLに既に含まれているため、役に立ちません。「xs:anyType」パラメータを介して複合型のオブジェクトを渡すにはどうすればよいですか?
より詳しい情報:
これはNetDataContractを使用する場合に機能すると思いますが、クライアントがSilverlightであるため、使用できません。
xs:anyTypeを明示的に拡張する複合型への参照を見たことがありますが、それを行うWSDLをWCFで生成する方法がわかりません。また、それが役立つかどうかもわかりません。
ありがとう
c# - 生のRSSフィードをC#でインポートするにはどうすればよいですか?
生のXMLRSSフィードをC#にインポートする簡単な方法を知っている人はいますか?XMLを文字列として取得する簡単な方法を探しているので、正規表現で解析できます。
ありがとう、-グレッグ
c# - WCF サービスで生成された HTML を取得する
私が取り組んでいる WCF アプリケーションでは、特定の Web ページの生成されたソースにアクセスする必要があります (ページですべての AJAX 呼び出しが行われた後)。
使用してみSystem.Net.WebRequest
ましたが、ページの元のソースに戻るだけです。ページを実行してからソースを取得する方法はありますか?
そうでなければ、WCF サービス内から Javascript を実行する方法はありますか? その場合、JavaScript と JSON 応答を使用して、Web サービス内から HTML ページを作成できます。