0

次のコードを使用して、Silverlight アプリを (別のプロジェクトの) asp.net ページ内に埋め込みました。

    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
      <param name="source" value="SilverlightApplication1.xap"/>  
    </object>

そして、GUIをうまくロードします。ただし、データベースへの最初の呼び出しが行われると、「CommunicationException was unhandled by user code.The remote server returned and error: NotFound.」というエラーが表示されます。

Silverlight アプリは、単独で実行すると問題なく動作しますが、別のプロジェクトのこのページに埋め込むと正しく動作しません。ProjectView.Web と Silverlight アプリ自体の両方を 2 番目のプロジェクト ソリューションに含め、アプリの出力パスを、ページの .aspx ファイルが配置されているフォルダーに変更しました。

私はしばらく見回してきましたが、実際に役立つものは何も見つかりませんでした。エラーは一般的なものであり、何でもよいようです。パスが変更されたため、サービス参照を見つけることができないと思いますが、完全にはわかりません。

4

1 に答える 1

0

Entity Framework私はバックエンドが好きです。デザイナーでは、接続文字列がホスト コンピューター (開発) の Db に自動的に割り当てられます。デプロイ時に、サーバー Db への接続文字列である初期化時にコンテナーのオーバーロードを使用します。

Public Shared Function ModelConnStr() As String
 Dim sqlcon As New System.Data.SqlClient.SqlConnectionStringBuilder
 sqlcon.DataSource = "tcp:{domain}.com"
 sqlcon.InitialCatalog = "db"
 sqlcon.UserID = "id"
 sqlcon.Password = "pswd"
 Dim mdlcon As New System.Data.EntityClient.EntityConnectionStringBuilder
 mdlcon.Metadata = "res://*/BMModel.csdl|res://*/BMModel.ssdl|res://*/BMModel.msl"
 mdlcon.Provider = "System.Data.SqlClient"
 mdlcon.ProviderConnectionString = sqlcon.ConnectionString
 Return mdlcon.ConnectionString
End Function

したがって、同じ概念が適用されます。テストには localhost を使用し、アップロード/公開する前に接続文字列を変更します。

于 2013-07-07T04:42:00.913 に答える