データソースを公開するために使用しているWCFサービスがあります(EFモデルを介して接続されています)。何らかの理由でエンドポイントが応答を停止しました。
最後の変更まで、アプリの起動時にデータを取得していました。私は現在、この上にサブスクライブ/パブリッシュ モデルを追加する作業を行っているため、何かが WCF サービスにヒットしてデータが変更されたときにイベントをスローできます (クライアント側で実行できますが、他のユーザーをキャッチすることはできません)。変わります)。
私はマイクロソフトの例に従ってきました: http://msdn.microsoft.com/en-us/library/ms752254.aspx適切な装飾をサービス インターフェイスと実装に追加し、サブスクライブ/サブスクライブ解除の OperationContract などを追加しました。サービスを起動しようとして接続できないよりも。
クライアントからサービス参照を削除し、再接続しようとしました。ここに奇妙なことがあります:
1) WCF サービスがビルドされ、開発者ホストでスピンアップします。2) Web.Config ファイルは変更されていません。3) vs 2012 のサービス参照の追加の [サービスの検出] オプションでサービスが表示されますが、検出されたサービスを実際に受け入れようとすると、「アドレスからメタデータをダウンロード中にエラーが発生しました。
サービスを検出して参照として追加できない方法がわかりません。自分で情報を追加したかどうかはわかりますが、見つかりました。
パブリッシング機能を追加する一環として、インターフェイスに SessionMode.Required タグを追加しました。WCF がセッションをどのように処理するのかよくわかりません。また、コーディングの他の場所でセッションを処理する必要はありませんでした (通常、ソースからデータをプルします)。ローカルで処理するよりも、過去に作成する必要があったタイプのツールだったので、サーバー側で状態を保持する必要はありませんでした)。
何か案は?
私のサービスのweb.config:
<connectionStrings> <add name="TaskModelContainer" connectionString="metadata=res://*/TaskModel.csdl|res://*/TaskModel.ssdl|res://*/TaskModel.msl;provider=System.Data.SqlClient;provider
connection string="data source=winhacker\sqlexpress;initial catalog=TaskDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
注:ファイルのほとんどのフォーマットで何が起こっているのかがプレビューに表示されないことに注意してください. ファイルを表示したい場合は、「編集」をクリックして、コピーしたソースが表示されているようですが、フォーマットが少し変です。