2012-04-20 10 views
0

現在、私はSilverlight WCF RIAアプリケーションを構築しています。クライアントは問題なく必要なデータを取得するので、順調に進んでいます。次に、データベースにテーブルを追加し、関連するエンティティデータモデルEDMXファイルを更新し、関連するドメインサービスクラスを再生成することにしました。私は多くの時間を費やしてきたデバッグSilverlight WCF RIA app; "クエリ 'GetTblProjects'の読み込み操作が失敗しました。リモートサーバーからエラー:NotFoundが返されました。

Error 
Load operation failed for query 'GetTblProjects'. The remote server returned an error: NotFound. 

Error Details 
    at System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error) 
    at System.ServiceModel.DomainServices.Client.LoadOperation.Complete(Exception error) 
    at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) 
    at System.ServiceModel.DomainServices.Client.DomainContext.<>c__DisplayClass1b.<Load>b__17(Object) 
Caused by: The remote server returned an error: NotFound. 

    at System.ServiceModel.DomainServices.Client.WebDomainClient`1.EndQueryCore(IAsyncResult asyncResult) 
    at System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult) 
    at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) 
Caused by: The remote server returned an error: NotFound. 

    at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) 
    at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 
    at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result) 
Caused by: The remote server returned an error: NotFound. 

    at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 
    at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState) 
    at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState) 

:今はまだそれが問題なく取得するために使用されるすべてのテーブルを取得しますが、私は新しいテーブルtblProjectからデータを取得しようとすると、私はこのエラーを受信して​​いますXAMLコードと関連するビューモデルクラスと共にドメインサービスクラスを調べると、問題なく正常に動作するtblBasinデータベーステーブルと、それ以外の新しいtblProjectテーブル私にエラーを与えている。私は、WCFのトレースをオンにすると、ここで私はtblBasinのために得るものです:ここでは

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> 
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> 
    <EventID>458758</EventID> 
    <Type>3</Type> 
    <SubType Name="Information">0</SubType> 
    <Level>8</Level> 
    <TimeCreated SystemTime="2012-04-20T21:54:03.3280726Z" /> 
    <Source Name="System.ServiceModel" /> 
    <Correlation ActivityID="{169c9eeb-338f-4ea5-a93a-34f234113283}" /> 
    <Execution ProcessName="WebDev.WebServer40" ProcessID="5276" ThreadID="14" /> 
    <Channel/> 
    <Computer>WKSTCAL0123</Computer> 
    </System> 
    <ApplicationData> 
    <TraceData> 
     <DataItem> 
     <TraceRecord  xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord"  Severity="Information"> 
      <TraceIdentifier>http://msdn.microsoft.com/en-CA/library/System.ServiceModel.Security.SecurityImpersonationSuccess.aspx</TraceIdentifier> 
      <Description>Security Impersonation succeeded at the server.</Description> 
      <AppDomain>f8f8d82-2-129794323085920534</AppDomain> 
      <ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/SecurityImpersonationTraceRecord"> 
      <OperationAction>http://tempuri.org/ProjectSetDomainServicebinary/GetTblBasins</OperationAction> 
      <OperationName>GetTblBasins</OperationName> 
      </ExtendedData> 
     </TraceRecord> 
     </DataItem> 
    </TraceData> 
    </ApplicationData> 
</E2ETraceEvent> 

は、私が失敗しtblProjectテーブルデータのために得るものです:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> 
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> 
    <EventID>262163</EventID> 
    <Type>3</Type> 
    <SubType Name="Information">0</SubType> 
    <Level>8</Level> 
    <TimeCreated SystemTime="2012-04-20T21:54:03.3270721Z" /> 
    <Source Name="System.ServiceModel" /> 
    <Correlation ActivityID="{30c0de8a-fd38-4ca6-8c8a-b88f27a783bf}" /> 
    <Execution ProcessName="WebDev.WebServer40" ProcessID="5276" ThreadID="12" /> 
    <Channel/> 
    <Computer>WKSTCAL0123</Computer> 
    </System> 
    <ApplicationData> 
    <TraceData> 
     <DataItem> 
     <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"> 
      <TraceIdentifier>http://msdn.microsoft.com/en- CA/library/System.ServiceModel.Channels.MessageReceived.aspx</TraceIdentifier> 
      <Description>Received a message over a channel.</Description> 
      <AppDomain>f8f8d82-2-129794323085920534</AppDomain> 
      <Source>System.ServiceModel.Activation.HostedHttpContext+HostedHttpInput/61784148</Source> 
      <ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/MessageTransmitTraceRecord"> 
      <MessageProperties> 
       <AllowOutputBatching>False</AllowOutputBatching> 
       <Via>http://localhost:57671/Services/ZEGApps-Web-Services-ProjectSetDomainService.svc/binary/GetTblProjects</Via> 
      </MessageProperties> 
      <MessageHeaders> 
       <To d4p1:mustUnderstand="1" xmlns:d4p1="http://schemas.microsoft.com/ws/2005/05/envelope/none" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:57671/Serv ices/ZEGApps-Web-Services-ProjectSetDomainService.svc/binary/GetTblProjects</To> 
      </MessageHeaders> 
      </ExtendedData> 
     </TraceRecord> 
     </DataItem> 
    </TraceData> 
    </ApplicationData> 
</E2ETraceEvent> 

誰がどのように上の任意の提案を持っていますこの問題を解決するには? TIA。

UPDATE:私が作成した新しいtblProjectデータベーステーブルからデータを取得するための呼び出しを除く、すべてのサービスコールが成功しています。

+0

すべてのサービスコールが失敗したか、新しく作成されたエンティティドメインオブジェクトを持つサービスコールだけが失敗していますか? – Stainedart

答えて

1

私はこれはかなり基本的な音を知っているが、あなたの質問は、この情報は言及していないと、問題は非常に多く、このような音は、あなたの答えのようになります。

あなたは、サーバー上の適切な実行可能ファイルを更新していますか?新しいテーブルの情報でクライアントコードのみを更新した場合、サーバーはこのように動作します。

0

ご返信いただきありがとうございます、ジョン!

現在のところ、このアプリケーションはかなり早い段階に開発されているため、実際にはVisual Studio Cassini Webサーバーを使用してテストしています。クライアントプロジェクトとサーバープロジェクトは同じソリューションになっています。だから、私はアプリケーションを再構築するとき、関連するXAPファイルを再構築すべきでしょうか?これは、ファイルのタイムスタンプが示すものです。ところで、SQL Serverデータベースは別のデータベースサーバー上で実行されています。

また、EDMXファイルを開いて調べると、期待通りにtblProjectテーブルが表示されます。

もし私が逃しているかもしれないことがある場合、または他の提案がある場合は、大歓迎です。

0

(これはまだ開いている質問...) Fiddlerを使用してリモート通話を試みたことがありますか?サーバーでエラーが発生し、エラーページがクライアントに返されることがあります。 RIAサービスがコールを処理すると、一般的なエラーメッセージが表示されます。

あなたのdevサーバがlocalhost上にある場合は、「localhost」を使用してください。フィドラーがコールを傍受するように(ポイント付きで)

関連する問題