3

私は次のサイトを構築しようとしています:

  • VS 2010(更新されたWCF RIAサービス用)
  • Silverlight 4.0(WCF RIAサービスにパッケージ化されています)。
  • MVC 2
  • EF 4.0

公開ページがMVCからのhtmlになるように設定していますが、管理部分は、データアクセスにWCFRIAサービスを使用するSilverlightナビゲーションアプリケーションになります。

Webフォームアプリケーション内にSilverlightアプリケーションを作成すると、機能します(データグリッドを追加し、EF4.0およびWCFRIAサービスを使用してデータを正常に取得できます): alttexthttp://www.patleague.com/images/sl4_webforms。 png

MVC2アプリケーション内でSilverlightアプリケーションを作成する場合: 代替テキストhttp://www.patleague.com/images/sl4_mvc2.png

次のようなエラーが発生します(どちらの場合も同じデータグリッドを追加しました-2つのレコードを持つ単純なテーブル): alt text http://www.patleague.com/images/sl4_mvc_dataerr.png

Webformsサーバー側は機能しますが、MVCサーバー側は機能しません。WCFロギングとフィドラーを試しましたが、どういうわけか出力を取得できません(ここの例を使用:http://msdn.microsoft.com/en-us/library/ms730064.aspx)。また、運が悪かった情報を取得するためにフィドラーを試しました。私は本当にこれに苦労しています、そして他の誰かがこの問題に遭遇してそれを回避する方法を見つけたのだろうか?

ありがとう、デニス

4

2 に答える 2

5

サービスのルートを無視すると、Global.asax.cs に追加されたときにこの問題が修正されました。

routes.IgnoreRoute("{*allsvc}", new { allsvc = @".*\.svc(/.*)?" });

この回答の功績はOneSmartGuyに帰する必要があります。彼の回答は私の問題も修正しました。

于 2009-12-29T15:24:08.090 に答える
1

この問題は私のサイトに固有のものかもしれませんが、おそらく他の人も同じ問題を抱えているのではないでしょうか。私は Javascript と JS UI ライブラリに苦労しているため、Silverlight に移行しました。デプロイされたサイトで作業するときは、フィドラーを使用するとうまくいきました(開発サーバーで作業するときは何も出力されませんでした)。

Silverlight アプリで自分のサイトを参照すると、通常の「クエリの読み込み操作に失敗しました...」というダイアログがポップアップし、fiddler がエラーを強調表示すると次のように表示されました。

IIS は認証スキーム 'Basic, Anonymous' を指定しましたが、バインディングは正確に 1 つの認証スキームの指定のみをサポートします。有効な認証方式は、Digest、Negotiate、NTLM、Basic、または Anonymous です。1 つの認証スキームのみが使用されるように IIS 設定を変更します。

DiscountASP.net (ホスティング プロバイダー) でこのエラーを調べたところ、次のように web.config (IIS7 用) を更新するように指示された KB 記事が見つかりました。

<system.webServer>
  <security>
    <authentication>
      <basicAuthentication enabled="false" />
    </authentication>
  </security>
</system.webServer>

そしてヴィオラ!asp.net MVC2 の Silverlight で WCF RIA サービスを使用できました。また、いくつかのブログ投稿で説明されているように、特別なサービスと domainhostfactory を作成したり、MVC やサービス リクエストとのやり取りを避けるためにルーティングを変更したりする必要がないこともわかりました。これは私がしなければならなかったすべてです

これはかなり基本的な修正だと思います。うまくいけば、他の人の助けになるでしょう。私はこれに非常に不満を感じており、このような簡単な修正が公開されていることにがっかりしましたが、このシナリオは最新の Microsoft テクノロジを使用しているため、Microsoft からこのシナリオの段階的な手順が提供されていません。

ありがとう、デニス

于 2010-09-13T20:15:37.503 に答える