Silverlight开发中遇到的几个小问题
1,程序发布时遇到错误:
"Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'"
可能引发此问题的原因:
- 安装.NET 4后安装IIS
- 安装.NET 4后安装3.0版本的WCF HTTP Activation Module
- 重新将asp.net注册到IIS即可,注意一定是4.0框架下的aspnet_regiis.exe /iru 不是2.0框架下的
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe /iru
即可
2,与Socket进行通信时注意端口在4502-4532之间,具体看看策略文件的配置,我因为这个端口问题耽误了一下午,最后才意识到。
3,silverlight的socket方法目前只是提供了客户端的发送和接收方法,如果想做P2P的应用,暂时没有找到解决方法,看到codeplex上有一个 Silverlightp2p的例子,但是代码没有能够运行成功,还请了解silverlightp2p通信的朋友留言相告。
4,silverlight开发中在用到timer时,需要检测控件的线程操作状态才能够赋值,例如

if (this.textBox1.Dispatcher.CheckAccess())
{
this.textBox1.Text += strText + Environment.NewLine;
}
else
{
this.textBox1.Dispatcher.BeginInvoke(() => { this.textBox1.Text += strText + Environment.NewLine; });
}
{
this.textBox1.Text += strText + Environment.NewLine;
}
else
{
this.textBox1.Dispatcher.BeginInvoke(() => { this.textBox1.Text += strText + Environment.NewLine; });
}
5,在 Silverlight与WEB相结合时可能需要不同的页面调用不同的silverlight控件,我们可以在silverlight项目中app.xaml.cs中加入

if (!e.InitParams.ContainsKey("InitPage"))
{
this.RootVisual = new RIA.Layout.Layout();
return;
}
Assembly assembly = Assembly.GetExecutingAssembly();
string rootName = String.Format("RIA.{0}", e.InitParams["InitPage"]);
UIElement rootVisual = assembly.CreateInstance(rootName) as UIElement;
this.RootVisual = rootVisual;
{
this.RootVisual = new RIA.Layout.Layout();
return;
}
Assembly assembly = Assembly.GetExecutingAssembly();
string rootName = String.Format("RIA.{0}", e.InitParams["InitPage"]);
UIElement rootVisual = assembly.CreateInstance(rootName) as UIElement;
this.RootVisual = rootVisual;
然后再具体的web页面中间加入
<param name="InitParams" value="InitPage=Test.Mytest" />
来动态调取 Silverlight 项目中的控件。
随时添加。。。
分类:
Silverlight
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述