私は現在、MYSQLのバッキングデータベースを使用してMVC Webアプリケーションをホストしているクラスタ化されたWindowsホスティングサイトを持っています。WCFデータサービス
私が過去3週間行ってきたのは、WindowsマシンにインストールされるWPFアプリケーションで消費されるWebサイトの背後にあるデータベースを公開するWCFデータサービスをホストすることです。
私が出会ったすべてのチュートリアルに従ってきました。彼らのどれも働いておらず、それらのすべてが、http://localhostをWebサービスが呼び出された場所として使用する例を示しています。
私はAsp.NetとMVCでの経験は限られていますが、以前は実用的なWebサイトを公開していました。私も広範な.Netの知識と経験を持っていますが、私の人生はこれをまったく理解できません。
クラスタ化されたホスティングシナリオ内からホストされているWCFサイトの実際の例は見ていません。実際には、すべての例でIISを使用した記述がありますが、ホスティング上のIISにはアクセスできません。
誰かが私にWCFサービスを使用できるチュートリアルの正しい方向を指し示すことができますか、間違ったツリーを完全に吠えていますか?
さて、更新:これは私のデータあることを示すように思われたエラーを与えた後、多くの実験を私は次の属性に出くわし、それ [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults =真)]
使用しましたサービスは私のローカルハードドライブ上のファイルにアクセスしようとしていました。また、メンバーシップのプロファイルを設定していないので、データサービスが再び開始されたことに気付きました。
最初に、私はAsp Membershipプロファイルを追加し、次にEntity Modelを追加してパーミッションを設定し、その属性を再度使用しました。
例外メッセージは '指定されたストアプロバイダが設定で見つからないか、または無効です。'です。詳細はサーバーログを参照してください。例外スタックトレースは次のとおりです。System.Data.EntityClient.EntityConnection..ctorでSystem.Data.EntityClient.EntityConnection.ChangeConnectionStringでSystem.Data.EntityClient.EntityConnection.GetFactory(文字列ProviderString機能)(文字列newConnectionString)(で
文字列connectionString)でのRotaSolutions.WCF.Models.rotasolu_crmEntities..ctor()のSystem.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)のSystem.Data.Objects.ObjectContext..ctor(String connectionString、String defaultContainerName) System.Data.Services.DataServiceのinvoke_constructor()の34行目1.CreateDataSource() at System.Data.Services.DataService
1.CreateDataSourceInstance()(システムの場合):¥Users¥Paul¥Dropbox¥Projects¥WCF¥RotaSolutions.WCF¥RotaSolutions.WCF¥Models¥CRMModel.Designer.cs: .Data.Services.DataService 1.CreateProvider() at System.Data.Services.DataService
1.HandleRequest()at System.Data.Services.DataService`1.ProcessRequest System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance、Object [] inputs、Object [] &出力)のSyncInvokeProcessRequestForMessage(Object、Object []、Object [])のForMessage(ストリームmessageBody) DispatchOperationRuntime.InvokeBegin System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4でSystem.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41でSystem.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5で(MessageRpc & RPC)(MessageRpc & RPC)(MessageRpc & RPC)(MessageRpc & rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime。ProcessMessage31 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11でSystem.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2でSystem.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3で(MessageRpc & RPC)(MessageRpc & RPC)(MessageRpc & RPC)(MessageRpc & RPC )System.ServiceModel.Dispatcher.MessageRpc.ProcessでSystem.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc & RPC)(ブールisOperationContextSet)
、それを使用することはできませんで。これは私にこれまで以上に希望を与えています。もう一度、誰かが何か示唆を持っていれば、私はそれらを受け取ったことに感謝します。
これは(クラスタで)あなたのケースでは動作するのかどうかはわかりませんが、WCFデータサービスの自己ホストを試みたことがありますか?あなたはコンセプトの証明として簡単なコンソールアプリを書くことができます。 – Tim
これは私の知識が少しばれている場所です。セルフホスティングでは、WCFデータサービスを使用して空のMVCアプリケーションを作成して使用することを意味しますか?もしそうなら、はい、私は持っています。私はここで一つの小さな点を欠いているという恐ろしい気持ちがあり、私の人生はそれが何であるか見ることができません。 私はこの仕事をすることができた唯一の方法は、古典的な電卓のチュートリアルに従っていた。それが私のWPFプロジェクトが実際にWCFサービスを見ることができる唯一の方法でした。私がWCFデータサービスでそれをしようとするたびに、常に障害があります。 –
私が正確にしたのはこれです。 は 空MVC4プロジェクトを作成したエンティティデータモデルは、WCFデータサービスは、私がF5プレスInitializeService方法 に権限を追加し、ローカルに正常に動作するように見えるCRMService 呼ばCRMModel 追加と呼ばれる追加しました。 このプロジェクトをCRM.WPF というWPFプロジェクトに追加し、サービスを発見しました。 その後、http://services.myservice.comへのサービスを公開し、WPFからMVCプロジェクトを削除し、というコードでこのUri経由でアクセスしようとしました Uri uri = new Uri( "http://services.myservice .com/CRMService.svc/") これは常にエラーを示します。 –