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 未被用户代码处理。远程服务器返回并且错误:NotFound。”

Silverlight 应用程序在我单独运行时工作得很好,但是当嵌入到这个其他项目的这个页面中时,它不能正常工作。我已经在第二个项目解决方案中包含了 ProjectView.Web 和 Silverlight 应用程序本身,并将应用程序的输出路径更改为页面的 .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 回答