Webservice中LinqToSQL执行ToList序列化产生循环引用错误

问题描述:在做Tiffany的时候,用到Linq通过Webservice返回数据给Flash。但是当执行结果集.ToList()的时候出现如下错误:
System.InvalidOperationException: 生成 XML 文档时出错。 ---> System.InvalidOperationException: 序列化类型 Tiffany.Photo 的对象时检测到循环引用。
在 System.Xml.Serialization.XmlSerializationWriter.WriteStartElement(String name, String ns, Object o, Boolean writePrefixed, XmlSerializerNamespaces xmlns)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write3_Photo(String n, String ns, Photo o, Boolean isNullable, Boolean needType)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write2_Vote(String n, String ns, Vote o, Boolean isNullable, Boolean needType)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write3_Photo(String n, String ns, Photo o, Boolean isNullable, Boolean needType)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write5_ArrayOfPhoto(Object o)
在 Microsoft.Xml.Serialization.GeneratedAssembly.ListOfPhotoSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o)
在 System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
在 System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
在 System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
在 System.Web.Services.Protocols.WebServiceHandler.Invoke()

问题分析:查看报错内容,“检测到循环引用”说明Linq的关系引用上存在问题。

问题解决:打开DataClassses-关联-子属性-访问权限,改为Internal

《杜拉拉2:华年似水》

“理想的工作有四个特性:
一、是你喜欢的;
二、是你擅长的;
三、能使你赖以谋得想要的生活质量;
四、合法合情。”

“一个傻瓜提出的问题,十个聪明人也回答不了。”------列宁

“别人恐惧的时候我贪婪,别人贪婪的时候我恐惧。”------巴菲特

“70%的人曾因管得太细而考虑过跳槽,其中半数的人采取了行动。”

沟通技巧:
“首先,尊重对方是基本的,得维护对方的自信。”
“聆听很重要,听比说更高级。”
“不要被动地听,要去理解、澄清,并给予回应。”
“你理解他不代表你同意他的观点。”
“表述观点的时候,要陈述事实,基于事实沟通。”
“分享感受是沟通的好方法。”
“在讨论过程中,要注意互动,通过促进参与。”
“最后是提供支持。”

“梦表达了未能满足的愿望。”------佛洛依德

《第九区》

人总是惧怕超出自己认识之外的事物、生物,包括外星人。这部片子中,外星人不再是强势群体,而是被人称为“大虾”的弱势群体。而当一个人类变成外星人的时候,从人类变得成外星人,从强势变成弱势,从自私变成无私。但有一个事不会变的,就是一颗爱妻子的心。

做每件事,都要换位思考,尽可能的在道德上达到高效、公平。

Asp.Net中Response.Write()导致页面CSS无效

问题描述:在修改NB网站的时候,发现响应按钮后出现全部字体变大现象,即不受CSS样式控制。

问题查找:因为这个响应按钮的方法内语句比较少,Response.Write()尤为惹眼,猜想是因为直接输入而产生了此问题:Response.Write("<script>alert('请勾选“本人已阅读兑换细则”')</script>");

问题求证:删除语句后发现果然一切正常了。

问题分析:Response.Write()是输出到页面的最顶端,导致了页面不符合DTD规范:
<!-- DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" -->

问题解决:使用微软推荐方法:Page.RegisterStartupScript("submitImageButtonClick", "<script>alert('请勾选“本人已阅读兑换细则”')</script>");
第一个参数是Script的名字,随便取。
第二个参数是Script,直接贴上去就行。

PV3D基础入门教程

官方网站:http://pv3d.org/

官方演示:http://www.papervision3d.org/

官方论坛:http://forum.papervision3d.org/

达达的教程:
Papervision3D入门第1步:http://www.unbe.cn/blog/?p=306
Papervision3D入门第2步:http://www.unbe.cn/blog/?p=310
Papervision3D入门第3步:http://www.unbe.cn/blog/?p=320
Papervision3D入门第4步:http://www.unbe.cn/blog/?p=321
Papervision3D入门第5步:http://www.unbe.cn/blog/?p=325
Papervision3D入门第6步:http://www.unbe.cn/blog/?p=385

爱好的教程:
第一课:关于 Papervision 3D:http://blog.sina.com.cn/s/blog_49b35d540100a0ef.html
第二课:三种IDE创建Papervision 3D文件:http://blog.sina.com.cn/s/blog_49b35d540100a0hu.html
第三课:创建第一个Papervision 3D文件:http://blog.sina.com.cn/s/blog_49b35d540100a0w3.html
第四课:一个旋转圆锥体效果:http://blog.sina.com.cn/s/blog_49b35d540100a0wr.html
第五课:一个旋转球体效果:http://blog.sina.com.cn/s/blog_49b35d540100a212.html
第六课:深入研究Papervision3D自定义类--PaperBase:http://blog.sina.com.cn/s/blog_49b35d540100a2r9.html
第七课:Papervision3D贴图基础:http://blog.sina.com.cn/s/blog_49b35d540100a2rx.html
第八课:使用复杂模型贴图:http://blog.sina.com.cn/s/blog_49b35d540100a2yd.html
第九课:3D鼠标交互效果:http://blog.sina.com.cn/s/blog_49b35d540100a3ht.html
第十课:3D键盘交互效果:http://blog.sina.com.cn/s/blog_49b35d540100a3yu.html
第十一课:基本3D交互场景事件:http://blog.sina.com.cn/s/blog_49b35d540100a54p.html
第十二课:高级3D交互场景事件(一):http://blog.sina.com.cn/s/blog_49b35d540100a5vd.html

如果用PV3D组件开发,可以参考教程:http://hi.baidu.com/acumagic/blog/item/9fefca1fc7405d08304e15d7.html

《飞屋环球记》

不要忘记,最初的梦想。

有些东西比梦想更重要。 

《最初的梦想》歌词:
如果骄傲没被现实大海冷冷能拍下
又怎会懂得要多努力
才走得到远方
如果梦想不曾坠落悬崖
千钧一发
又怎会晓得执着的人
有隐形翅膀
把眼泪装在心上
会开出勇敢的花
可以在疲惫的时光
闭上眼睛闻到一种芬芳
就像好好睡了一夜直到天亮
又能边走着边哼着歌
用轻快的步伐
沮丧时总会明显感到孤独的重量
多渴望懂得的人给些温暖借个肩膀
很高兴一路上我们的默契那么长
穿过风又绕个弯心还连着
像往常一样
最初的梦想紧握在手上
最想要去的地方
怎么能在半路就返航
最初的梦想绝对会到达
实现了真的渴望
才能够算到过了天堂
如果骄傲没被现实大海冷冷能拍下
又怎会懂得要多努力
才走得到远方
如果梦想不曾坠落悬崖
千钧一发
又怎会晓得执着的人
有隐形翅膀
把眼泪装在心上
会开出勇敢的花
可以在疲惫的时光
闭上眼睛闻到一种芬芳
就像好好睡了一夜直到天亮
又能边走着边哼着歌
用轻快的步伐
沮丧时总会明显感到孤独的重量
多渴望懂得的人给些温暖借个肩膀
很高兴一路上我们的默契那么长
穿过风又绕个弯心还连着
像往常一样
最初的梦想紧握在手上
最想要去的地方
怎么能在半路就返航
最初的梦想绝对会到达
实现了真的渴望
才能够算到过了天堂
最初的梦想绝对会到达
实现了真的渴望
才能够算到过了天堂