12

Windows XP SP3 で Visual Studio 2010 を使用して OData/WCF サービスを作成し、最新のパッチをすべてインストールしました。

[ブラウザーで表示] をクリックすると、サービスが開き、EF モデルの 3 つのテーブルが表示されます。ただし、クエリ文字列の末尾にテーブル名 (この場合は「Commands」) を追加すると、テーブルからデータが表示されるのではなく、HTTP 500 エラーが発生します。 (このエラー (HTTP 500 内部サーバー エラー) は、アクセスしている Web サイトにサーバーの問題があり、Web ページが表示されなかったことを意味します。) .

私は 2 つのサイトの例に従っただけでなく、ブログの投稿者から送られてきたサンプル アプリケーション (彼のマシンで動作する) を実行してみましたが、まだうまくいきません。

ブログ投稿は、Entity Framework モデルからの OData の公開にあります。

なぜこれが発生しているのか、それを解決する方法を知っている人はいますか?

「ブラウザで表示」の出力は次のとおりです。

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
- <service xml:base="http://localhost:1883/VistaDBCommandService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
- <workspace>
  <atom:title>Default</atom:title> 
- <collection href="Commands">
  <atom:title>Commands</atom:title> 
  </collection>
- <collection href="Databases">
  <atom:title>Databases</atom:title> 
  </collection>
- <collection href="Statuses">
  <atom:title>Statuses</atom:title> 
  </collection>
  </workspace>
  </service>

アップデート:

これを機能させるために、私は次のことを行いました。

  1. IIS を削除して再インストールした
  2. %WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis –i –enable コマンドを実行しました
  3. %WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe -r コマンドを実行しました。
  4. 新しいソリューションを作成し、指示に非常に注意深く従って、何も台無しにしないようにしました。

このすべての後、私はまだ同じ HTTP 500 エラーを受け取り、イベント ビューアーにはどのような種類のエントリもありません。

他のアイデアはありますか?

4

7 に答える 7

16

私の問題は、データベースを開く際の問題であることがわかりました。私がそれを理解した方法は、InitializeService メソッドの servicename.svc.cs ファイルに次を追加することでした。

config.UseVerboseErrors=true;

助けようとしたすべての人に感謝します。

エリック

于 2010-06-16T16:43:12.137 に答える
5

config.UseVerboseErrors=true;問題を見つけるのに役立ちました。問題は、データベース接続に Windows 認証を使用していたことです。SQL Server 認証に変更した後、すべてが正常に機能しました。

于 2011-03-19T16:45:29.393 に答える
5

これらのデバッグのヒントを試して、実際に発生したエラーを確認してください: http://blogs.msdn.com/b/phaniraj/archive/2008/06/18/debugging-ado-net-data-services.aspx

于 2010-06-16T14:33:50.013 に答える
2

500常にサービスで未処理の例外があったことを意味します。Windows イベント ログを調べて、そのエラーの内容を確認してください。

于 2010-06-12T20:44:33.770 に答える
1

IISでWebアプリケーションの失敗した要求のトレースをアクティブ化することもできます

次に、500エラーが発生すると、IISからXmlファイルで詳細なトレース実行が取得されます。

IISで失敗した要求のトレースを設定する方法を説明する良い記事がここにあります:

失敗した要求トレースを使用して書き換えルールをトレースする

HTHセドリック

于 2012-06-17T22:05:16.993 に答える
0

SQL Server Compact データ ファイル (NorthWind.sdf など) を使用している場合は、IUSRS グループにファイルの書き込み権限を与える必要があります。

例: DataDirectory で NorthWind.sdf を使用している場合、つまり YourWeb/App_Data では、IIS コンソールまたは Windows エクスプローラーから _IUSRS グループに書き込み権限を付与する必要があります。

于 2012-06-17T21:55:08.480 に答える