在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践

Posted

技术标签:

【中文标题】在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践【英文标题】:Best practice for integrating a silverlight control in a Asp.Net Solution 【发布时间】:2012-02-23 23:57:42 【问题描述】:

我需要一些有关处理 Silverlight 控件的建议,我需要将其集成到现有网站中,使用 Asp.Net 编码。

我使用的是 SVN、Visual Studio 2010、Framework 4.0。我需要创建一个简单的 silverlight 控件,并且需要将它嵌入到我的一个 asp.net 页面中。

我的问题基本上是,在哪里放置此 Silverlight 控件的最佳做法是什么?

1) 为我的 Silverlight 控件创建一个新项目,然后通过我网站中的外部工具引用它? (只导入 .xap?)

+ 重用 - 对于一个小控件来说似乎有很多额外的工作

2) 使用我的网站解决方案创建一个新项目,在我的网站旁边编译它并创建一个构建后事件以将生成的 .xap 复制到我网站的 ClientBin 文件夹中?

- 缺乏可重用性 + 轻松对我的 Silverlight 组件进行小修改。

3) 另一个我还不知道的解决方案??

感谢您的建议

【问题讨论】:

【参考方案1】:

不用担心项目的数量。重用更为重要(我们有超过 100 个项目的解决方案)。

创建一个新的 Silverlight 应用程序,然后在网站和您的新 Silverlight 应用程序之间添加一个 Silverlight 关系:

右键单击您的网站项目并选择Properties。 选择左侧的Silverlight Applications 标签 按Add... 选中 Use an existing Silverlight project in the solution 并从 Project 下拉列表中选择要添加的项目。 如果您想为您的应用程序提供单独的测试页面,请选中 Add a test page that references the control。 按Add 即可完成。

该网站现在将构建您的 Silverlight 应用程序并将输出 Xap 文件包含在其 ClientBin 文件夹中。

如果您选中“添加测试页面”,这将为您提供示例 html/ASPX 页面以及在 ASP.Net 应用程序中的任何位置运行 Silverlight 组件所需的 javascript

【讨论】:

您好,感谢您的回复!这正是我所做的,我正面临一些麻烦。如果我确实像你说的那样,我的 xap 会被复制到 ClientBin 中,但无法在页面中查看。当我在另一个解决方案中生成它并手动将 xap 文件复制粘贴到 ClientBin 中时,它可以工作......这让我发疯了,知道我在这里做错了什么吗? @Andy M:一旦在网站上,XAP 文件就像任何其他下载一样。使用 Fiddler 2 检查它是否实际下载。如果是这样,假设您可能缺少启动 Silverlight 的 Javascript 的一部分。你能提供你的页面HTML吗?此外,如果您改为浏览它添加的 Silverlight 测试页面,它们是否有效?

以上是关于在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ASP.NET MVC 中集成 AngularJS

如何在 asp.net 中集成 Paypal Api 以进行快速结帐?

如何在 ASP.NET MVC 中集成 AngularJS

在 Asp.net Web 服务中集成 JWT

使用 c# 在 asp.net 中集成 paypal

在 Docker 容器 ASP.NET 应用程序中集成 Windows 身份验证