問題タブ [was]
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 - Autofac を使用して WCF OData サービスをホストする方法
Autofac を使用して WCF データ サービス (OData) をホストするための推奨される方法は何ですか?
OData 以外のサービスについては、AppStart.AppInitialize() アプローチを使用して、プロトコルに依存しない方法で依存関係を登録し、.svc ファイルを変更してAutofacServiceHostFactory
.
しかし、WCF Data Services には既にファクトリがあり、System.Data.Services.DataServiceHostFactory, System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
AutofacServiceHostFactory
それもうまくいきますか?新しい派生工場が必要ですか?
msmq - NetMsmqBinding WAS サービスがワークグループのリモート MSMQ キューからのメッセージの読み取りに失敗する
net.msmq バインディングで WAS を使用して IIS でホストされているサービスがあります。このサービスは、プライベート トランザクション MSMQ キューからメッセージを読み取ります。サービスとは別のマシンにあるキューから読み取ることで機能する必要があります。キューが同じマシン上にある場合は機能しますが、別のマシン上にある場合は機能しません。
環境情報
- サーバーは Windows Web Server 2008 R2 を実行しています。
- サーバーはワークグループ内にあります。つまり、サーバーはドメインの一部ではありません。
- MSMQ は、ディレクトリ サービス統合機能なしでインストールされています。
- 必要な Windows 機能 (WCF Non-Http Activation および Http Activation、Message Queuing Server、Multicasting Support、Message Queuing DCOM Proxy、Windows Process Activation Service、.NET Environment、構成 API) がインストールされていると思います。
- マシンで次のレジストリ変更を行いました。
- NewRemoteReadServerAllowNoneSecurityClient = 1
- NewRemoteReadServerDenyWorkgroupClient = 0
- AllowNoauthenticatedRpc = 1
- DTC が有効になり、[ネットワーク DTC アクセス]、[リモート クライアントを許可]、[インバウンドを許可]、[アウトバウンドを許可]、[認証は不要]、[SNA LU 6.2 トランザクションを有効にする] がすべて選択されています。
- ファイアウォールの変更が行われました。
サービス構成情報
- netMsmqBinding を使用しています。
- netMsmqBinding のトランスポート セキュリティ モードは None です。
- ExactlyOnce は真です
- UseActiveDirectory は false
- 耐久性は本当です
- キュー アドレスは net.msmq://the-host-computer-name/private/EmailAsyncService です。
WCF ロギング
- 警告があります:
キューがトランザクションかどうかを検出できません". エラーのキューの FormatName は DIRECT=OS:ホスト コンピュータ名\private$\EmailAsyncService です。
- 次にエラーがあります:
'the-host-computer-name\private$\EmailAsyncService' > キュー パス名を形式名に変換するときにエラーが発生しました: 認識できないエラー -1072824300 (0xc00e0014)。キューに入れられたチャネルに対するすべての操作が失敗しました。キュー アドレスが有効であることを確認してください。MSMQ は、Active Directory 統合を有効にしてインストールする必要があり、アクセスできる必要があります。
私が試したこと
- MessageQueue インスタンスを手動で作成して使用すると、サービスが稼働しているマシンからリモート キューからメッセージを読み取ることができます。
- サービスをスタンドアロンのコンソール アプリケーションとしてホストしようとしました。エラーメッセージは同じです。
- 関連するファイアウォールを無効にしようとしました。
- http://msdn.microsoft.com/en-us/library/ms752246.aspxで変更を試みました。これは、ワークグループに参加しているコンピューターでそのようなサービスを実行することに関連しています。(「アクティブ化サービスとワーカー プロセスの両方を特定のユーザー アカウントで実行する必要があり (両方で同じである必要があります)、キューには特定のユーザー アカウントの ACL が必要です。ワークグループでは、サービスは無制限のアカウントを使用して実行する必要があります。 token.") 現在使用しているユーザー アカウントは Network Service です。
いくつかの考え
- ファイアウォールやアクセス許可の問題があるとは思いません。
- サービス構成で UseActiveDirectory が false に設定されているにもかかわらず、net.msmq://the-host-computer-name/private/EmailAsyncService のキュー アドレスが the-host-computer-name\private$ に変換されているようです\EmailAsyncService、これは私の知る限り、Active Directory を介した検索が必要な名前形式です。
.net - IIS/WAS でホスティングする RabbitMQ WCF サービス
WCF で RabbitMQ (MSMQ の代わりとして) を使用し、これらの WCF サービスを IIS/WAS でホストしたいと考えています。残念ながら、RabbitMQ .NET クライアント ライブラリに付属するドキュメントによると、この構成は「テストもサポートもされていない」ようです。
私は WCF の専門家ではありませんが、これがサポートされていない理由は、RabbitMQ WCF 実装がまったく新しいトランスポート バインディング要素を使用しているためだと理解しています。WAS はこれについての知識がなく、この記事を読んだことに基づいています。受信 AMQP メッセージを適切な IIS アプリケーションおよびサービス エンドポイントに送信します。
私の理解が正しいかどうか、および/または IIS/WAS で RabbitMQ WCF サービスをホストするための代替アプローチがあるかどうかを誰かが確認できれば幸いです。束縛要素?
nullreferenceexception - XML を使用する WP7: NullReferenceException のフィルタリングは Unhandled C# でした
これは私の SearchFile.xml で、チッパーを郡別にフィルタリングするために使用しています
これは、NullReferenceException を取得している C# コードです。ブレークポイントは、find.Attribute("County").Value == "Galway"?
これは、xml 要素の値を格納するために使用している私のチッパー クラス Chippers.cs です。
なぜこれが起こっているのか誰かが教えてくれたら、感謝します
windows - Windows プロセス アクティブ化サービスは、アプリケーション プールの構成ファイルを生成できませんでした
Windows 2008 R2 サーバーで突然 IIS を起動できなくなりました。依存する「Windows アクティベーション サービス」が起動しません。
イベント ビューアに次のメッセージが表示されます。
「Windows プロセス アクティブ化サービスは、アプリケーション プール構成ファイルの生成に失敗しました」
すべての IIS 構成ファイルに入力ミスがないかチェックしましたが、何も見つかりませんでした。
IIS の役割をサーバーから削除しようとしましたが、エラーが発生しました。
私はここで完全に絶望的です。Google で数時間調べましたが、見つけた提案はどれも役に立ちませんでした。
c# - WCF サービスに接続されているクライアントの IP/名前を見つけますか?
やあ、
WAS を使用して TCP 経由で通信する IIS7 でホストされている WCF サービスがあります。サービス側では、呼び出されたサービス操作をログに記録するために IParameterInspector を実装しましたが、クライアントの IP/名前も必要です。
私はこれを試しました:
しかし、それは常に "::1" を返しますか? 私が使用する場合:
名前は常にローカルであり、これはクライアントがサービスとは異なるコンピューター上にある場合でもですか?
よろしくお願いします
編集1:私が正しく読んだ場合、IPを取得することはできないので、問題は、クライアントを指定する他の方法があるかどうか、おそらく何らかのGUIDか、それとも私が使用すべきセッションIDだけですか?
c# - カスタムServiceHostFactoryを使用する場合、NServiceBusトランスポートはNULLです。WAS
現在、WCFサービスにNServiceBus3.0を実装しようとしています。
カスタムServiceHostFactoryを使用して、WASでサービスを初期化します。net.tcpを使用してサービスにアクセスし、次のコードを使用してサービスを設定します。
サービスを呼び出すと、次のエラーが発生します。
そして、web.configのconfigセクション
これについて何かアイデアはありますか?
wcf - 非HttpWCFアプリケーションのWindsorIOC-IOCカーネルの初期化中にエラーが発生しました
WCFアプリケーションでIOCコンテナを初期化しようとして問題が発生しました。アプリケーションは、WASを使用した非HTTPベースです。
アプリケーションを起動すると、このエラーメッセージが表示されます...
Kernel was null, did you forgot to call DefaultServiceHostFactory.RegisterContainer
私はこの解決策に対する他の答えを見てきました。それは次のことをするように言っています...
- ファクトリ定義をServiceHost定義に追加します。例:
Factory="Castle.Facilities.WcfIntegration.DefaultServiceHostFactory, Castle.Facilities.WcfIntegration"
- AppInitialize()という静的メソッドを使用して、App_Codeフォルダーにクラスを作成します。このメソッドは自動的に呼び出され、コンテナを登録するために使用できます。
これを実行しましたが、AppInitializeメソッドが呼び出されず、上記のエラーが発生します。
ありがとう。
wcf - AMQP AmqpBinding IIS / WASの問題?
現在の雇用主のセットアップには、Javaプラットフォーム上の1セットのバックオフィス機能と、2つの別々の.NETベースのプラットフォーム上の別の機能グループがあります。全体的な建築家は存在しません。
Javaの連中は、おそらくそれらの間で、.NETシステムや他の外部システムとのメッセージングにApacheQPIDとAMQPを採用することにしました。
.NETアーキテクチャには、IIS/WASおよびWindowsServerAppFabricでホストされるWCFサービスが含まれます。
落とし穴がある場合、AmqpBindingとIIS / WASの経験はありますか?
.net - WCF が「net.pipe でリッスンしているエンドポイントがありませんでした....」というエラーを返す
何らかの理由で、サービスの Net.Pipe エンドポイント (EP) を動作させることができません。
これは、IIS7 でホストされる .Net 4.0 WCF サービスです。
欠点は2つ…
- まず、EP はメタデータを提供しません。
- 次に、EP は実際には機能しません。VS2010 の一部である WCF テスト クライアントを使用してテストしています。
どちらも実際には同じ問題に関連していると思います。
実際に受け取ったエラーは...
There was no endpoint listening at net.pipe://[machinename].[domainname]/Services/TestService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
最初に気付いたのは、ベース アドレスでパイプを何と呼んでも、パイプの名前が [machinename].[domainname] に変更されるということです。これは奇妙に思えます。これは、出力されるサービス メタ データで明らかです。ただし、パイプ名またはこの名前を変更した名前をテスト クライアントで使用すると、どちらも機能しません。
また、Windows の機能で WAS を有効にし、IIS ですべてのプロトコルのサイト バインディングを設定し、IIS の [有効なプロトコル] ボックスにプロトコルの名前を入力しました (http、net.tcp、net.pipe)。また、Windows Servics で「Net.Pipe リスナー アダプター」が起動していることも確認しました。
私の http と net.tcp EP はどちらも正常に動作し、メタデータを返します。
私の構成は以下のとおりです。この EP の動作を妨げている原因を誰か知っていますか?? 私はそれが単純なものだと確信しています!!