【问题标题】:Silverlight app inside of a asp.net page - The remote server returned and error: NotFoundASP.NET 页面内的 Silverlight 应用程序 - 远程服务器返回并出现错误:NotFound
【发布时间】:2013-07-05 13:17:12
【问题描述】:

我已使用以下代码将我的 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 文件所在的文件夹。

我已经环顾四周,并没有真正找到任何有用的东西,似乎该错误是一般性的并且可能是任何东西。我认为它无法找到服务引用,因为路径已经改变,但我不完全确定。

【问题讨论】:

  • 这听起来像是与数据库的连接问题。迁移到生产环境时必须更改连接字符串。

标签: asp.net wcf silverlight


【解决方案1】:

我喜欢 Entity Framework 作为我的后端。在设计器中,它会自动将连接字符串分配给主机(开发)上的 Db,然后当我部署时,我在初始化时使用容器的重载,即 Connection String 到服务器 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 进行测试,然后在上传/发布之前更改连接字符串。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    相关资源
    最近更新 更多