locked
SilverLight4 & WCF RIA ServicesをIIS7.5にデプロイする方法 RRS feed

  • 質問

  • はじめまして、今までWindowsアプリの仕事ばかりしていまして

    Web系の事はほとんど知らずにSilverLightの勉強を始めた者です。

    これからはじめるSilverLight4http://thinkit.co.jp/book/2010/06/07/1593

    を一通り理解したつもりになり(開発端末のIISにもデプロイしました)、やっぱりWebらしく

    サーバーと通信?したいと思い、http://d.hatena.ne.jp/okazuki/20100529

    のプロジェクトをVS上で動かし、いよいよIISにデプロイという段階でつまづいてしまいました。

    いろいろググッては見たのですが、なにぶんWebの知識が乏しいのと英語力が乏しいの

    ダブルパンチで全然わかりませんでした。

    一点、たぶん同様の質問?が前にあり「仮想ディレクトリからアプリケーションに変更」で動いた

    らしいので、同様に変更しましたが動かず質問させて頂きました。

    ちなみにIISがらみで

    ・Windows Communication Foundation HTTP Activation

    ・WWWサービスのアプリケーション開発機能のASP.NET

    のWindowsの機能は有効にしています。

     

    【環境】

    Windows7 Professional

    IIS7.5

    Visual Studio 2010 Premium

    SilverLight 4 Tools for Visual Studio 2010

    SilverLight 4 Toolkit April 2010

    WCF RIA Services Toolkit May 2010

    以上、よろしくお願いいたします。

     

    2010年8月9日 10:12

回答

  • HelloRIAServices.Webプロジェクトを「発行」を使わずに、ビルドで生成されたアセンブリやファイルを直接Bin/DebugフォルダからIISに持っていった感じですね。

    多分、Silverlightが呼び出す肝心のサービスをIISで動かせていません。サービスもIISで動かすんですよね?

    HelloRIAServices.Webプロジェクトを右クリックして「発行」を選び、ファイルシステムに出力した内容をまるごとIISに持っていったらどうなりますか?

     


    なかむら(http://d.hatena.ne.jp/griefworker)
    2010年8月10日 2:36

すべての返信

  • 初めての投稿で舞い上がっていてエラー内容の記述を忘れていました。

    エラー内容はボタンを押下した時に下記内容のエラーが出ます。

    System.ServiceModel.DomainServices.Client.DomainOperationException:

    Load operation failed for query 'GetPersonByName'.

    リモートサーバーが次のエラーを返しました:Notfound。---->

    上記エラーはコールバック関数のエラープロパティをTextBlockに表示させた内容です。

    また、IIS上には下記の3ファイルをコピーしています。

    HelloRIAServices.xap (HelloRIAServices\Bin\Debug)

     

    HelloRIAServices.testPage.html (HelloRIAServices\Bin\Debug)

    Web.Config (HelloRIAServices.Web\Bin\Debug)

     

    また、この投稿で再度プロファイルの表示名を求められ同一名が取得できなく

    「れっどあい」→「れっどあぃ」に変更しております。

    不手際ばかりで申し訳ありませんが、宜しくお願いいたします。

     

    2010年8月9日 11:17
  • 3つほど確認したいことがあります。

     

    (1)http://d.hatena.ne.jp/okazuki/20100529

    上記ページで公開されているサンプルを IIS で動かそうとしているんですよね?

     

    (2)IIS に配置したのは上記の3ファイルだけですか?サンプルをデプロイするために「発行」したとき、次のファイルも出力されるようですが。。。

     

    • Silverlight.js
    • HelloRIAServicesTestPage.aspx
    • bin/HelloRIAServices.Web.dll

    (3)HelloRIAServices.xapはClientBinディレクトリに置いていますか?それとも HelloRIAServices.testPage.html と同じディレクトリに置いていますか?

     


    なかむら(http://d.hatena.ne.jp/griefworker)
    2010年8月9日 12:10
  • なかむらさん返信ありがとう御座います。

     

    >(1)http://d.hatena.ne.jp/okazuki/20100529

    >上記ページで公開されているサンプルを IIS で動かそうとしているんですよね?

    はい

     

    >(2)IIS に配置したのは上記の3ファイルだけですか?サンプルをデプロイするために「発行」したとき、次のファイルも出力されるようですが。。。

    >・Silverlight.js

    >・HelloRIAServicesTestPage.aspx

    >・bin/HelloRIAServices.Web.dll

    ご指摘頂いたファイルは配置していませんでしたので配置しましたが結果は変わりませんでした

    (いづれもHelloRIAServicesTestPage.htmlと同じディレクトリに配置)

     

    >(3)HelloRIAServices.xapはClientBinディレクトリに置いていますか?それとも HelloRIAServicesTestPage.html と同じディレクトリに置いていますか?

    HelloRIAServicesTestPage.htmlと同じディレクトリに置いていたのでClientBinディレクトリに置いたところページが表示されなくなりました。

    以上、他にお気づきの点があれば宜しく御願い致します。

    2010年8月10日 1:00
  • HelloRIAServices.Webプロジェクトを「発行」を使わずに、ビルドで生成されたアセンブリやファイルを直接Bin/DebugフォルダからIISに持っていった感じですね。

    多分、Silverlightが呼び出す肝心のサービスをIISで動かせていません。サービスもIISで動かすんですよね?

    HelloRIAServices.Webプロジェクトを右クリックして「発行」を選び、ファイルシステムに出力した内容をまるごとIISに持っていったらどうなりますか?

     


    なかむら(http://d.hatena.ne.jp/griefworker)
    2010年8月10日 2:36
  • 恥かしい限りです。

    「Webの発行」なる機能がVSにあるのも知らず言われる通り直接IISにコピーしてました。

    「発行」自体がわかっていないんだと思いますが結果は変わりませんでした、がIIS上のファイルの配置は先のご指摘の様になったと思います。またxapファイルがClientBin下に移動した配置で初期ページが表示されるようになりました。

    • bin/HelloRIAServices.Web.dll
    • bin/HelloRIAServices.Web.pdb
    • ClientBin/HelloRIAServices.xap
    • HelloRIAServicesTestPage.aspx
    • HelloRIAServicesTestPage.html
    • Silverlight.js
    • Web.config

    上記の配置になっています。

    「Webの発行」画面にて発行方法をファイルシステム・対象の場所をc:\tempとして発行を行い、c:\temp以下のディレクトリ及びファイルをc:\inetpub\testにコピーしました。

    IISの設定がおかしいのでしょうか?

    2010年8月10日 3:22
  • ASP.NETがインストールされていなかったのが最終原因みたいです。コマンドプロンプトを管理者権限で起動し下記コマンドを実行したところ無事に起動しました。

     

    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

    IISのアプリケーションプールの追加で上記バージョンのFrameworkが選択できていたのにインストールされていないとは…これからもっと勉強したいと思います。

    なかむらさん、いろいろと親切に教えて頂きありがとう御座いました。


    [回答の候補に設定]はあるのですが[回答としてマーク]が何処にあるのかわかりません、他の方でもマークが付けられるのであれば「回答としてマーク」して頂けると幸です。

     

    2010年8月10日 5:16
  • こんにちは、れっどあぃ さん。

    解決されてよかったですね。
    フォーラム オペレーターの山本です。

    "回答としてマーク" は、スレッド オーナーである質問者 (つまり、"れっどあ" さん) でログオンすれば可能です。

    今回はオペレーターのほうで、回答としてマークさせていただきますね。

    今後とも、MSDN フォーラムのご利用をよろしくお願いいたします。それでは。
                                           
    マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2010年8月10日 6:14