浪网微博依据他名人博客的优势和依然流氓的推广,目前已经做到毫无疑问的国内微博头把交椅。其余的什么腾讯,搜狐,网易,老牌一点的做啥,嘀咕都没有如今浪网微博这般势力壮大。当然,流氓本性不改,听说负责删贴的编辑就300多人。所以依然是娱乐为主。那就娱乐吧。 公司老板想在网站上加个微博的内容,本来说是要搭建一个微博,此时我难中闪过某网站统计的程序员之十大最怕之一就是不懂编程的老板。然后我说大哥,都这么多微博了,而且微博这种东西不是我们小公司玩得起的。你不是想要微博内容吗,我给你从浪网拿过来就是。于是就这么定了。 代码参考了月光大人写的 php生成sina微博rssfeed方法。这个是asp.net版。 我的浪网微博:http://t.sina.com.cn/uspython 多联系 网页代码sinafeed.aspx <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”sinafeed.aspx.cs” Inherits=”T_sinafeed” %><%@ OutputCache VaryByParam=”*” Duration=”60″ %><?xml version=”1.0″ encoding=”utf-8″?> <rss version=”2.0″> <channel> <title>sinarssfeed</title> <link>rssfeed</link> <description>rssfeed</description> <language>zh-cn</language> <%=StrRSS%> </channel> </rss> 后台代码: sinafeed.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Net; using System.Text; using System.Text.RegularExpressions; public partial class T_sinafeed : System.Web.UI.Page { protected string StrRSS = “”; protected void Page_Load(object sender, EventArgs e) { this.LoadData(); } private void LoadData() { /* 通过浪网的widget页面取的需要的数据,通过正则表达式 */ WebClient myWebClient = new WebClient(); //构建WenClient对象 myWebClient.Encoding = Encoding.UTF8; myWebClient.Credentials = CredentialCache.DefaultCredentials; string startflag = “<div id=\”content_all\” class=\”wgtList\”>”; //widget页面开始标签 string endflag = “<div id=\”rolldown\” class=\”wgtMain_bot\”>”; //widget页面结束标签 //通过uid获取用户wedget页面,uid即你个人页面http://t.sina.com.cn/1430466211/profile中间的部分,比如我的是1430466211 //http://v.t.sina.com.cn/widget/widget_blog.php?height=500&skin=wd_01&showpic=1&uid=1430466211 是浪网widget的链接,我们就是用它。 string temp = myWebClient.DownloadString(“http://v.t.sina.com.cn/widget/widget_blog.php?height=500&skin=wd_01&showpic=1&uid=1430466211”); //截取所需字符串 temp = temp.Substring(temp.IndexOf(startflag), temp.IndexOf(endflag) – temp.IndexOf(startflag)); //所需内容部分的正则表达式 string strReg = “<p class=\”wgtCell_txt\”>([\\S\\s]*?)</p>([\\S\\s]*?)<a href=\”(.*)\” title=\”\” target=\”_blank\” class=\”link_d\”>([\\S\\s]*?)</a>”; Regex re = new Regex(strReg, RegexOptions.IgnoreCase); MatchCollection mc = re.Matches(temp); if (mc.Count != 0) { /*字符串格式如下 <item> <title>TITLE</title> <>description<![CDATA[DESCRIPTION]]></description> <pubDate>DATE<?php echo 9-$i; ?>:04Z</pubDate> <guid>GUID</guid> <link>LINK</link> </item> */ StringBuilder rsssb = new StringBuilder(); for (int i = 0; i < mc.Count; i++) { rsssb.Append(“<item>\r\n”); rsssb.Append(“<title><![CDATA[“); //得到匹配成功的title部分,即微博正文,根据正则表达式,处于数组的第1个位置 rsssb.Append(mc[i].Groups[1].Value); rsssb.Append(“]]></title>\r\n”); rsssb.Append(“<description><![CDATA[“); //得到匹配成功的description部分,这里只是把发布时间,如:今天 15:30,放了进来,根据正则表达式,处于数组的第4个位置 rsssb.Append(mc[i].Groups[4].Value); rsssb.Append(“]]></description>\r\n”); rsssb.Append(“<pubDate>”); //这里的时间是系统的时间,你也可以根据description的时间信息把微博的发布时间switch出来,我就不列举了。 rsssb.Append(DateTime.Now.ToString(“yyyy-MM-ddTHH:mm:ss”) + “+08:00”); rsssb.Append(“</pubDate>\r\n”); //忽略guid //sb.Append(“<guid>”); //sb.Append(Guid.NewGuid().ToString()); //sb.Append(“</guid>\r\n”); //得到微博的链接 rsssb.Append(“<link>”); rsssb.Append(mc[i].Groups[3].Value); rsssb.Append(“</link>\r\n”); rsssb.Append(“</item>\r\n\r\n”); } //将构造完成的字符串赋给前台变量 this.StrRSS = rsssb.ToString(); Read the full article…

点我阅读全文...

第几回了啊,老是忘。   1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”; 2.c# winform用 A:“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”; B:“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称; C:“AppDomain.CurrentDomain.BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”; D:“System.Threading.Thread.GetDomain().BaseDirectory”:获取当前应用程序所在目录的路径,最后包含“\”; E:“Environment.CurrentDirectory”:获取当前应用程序的路径,最后不包含“\”; F:“System.IO.Directory.GetCurrentDirectory”:获取当前应用程序的路径,最后不包含“\”; 3.c# windows service服务中用“AppDomain.CurrentDomain.BaseDirectory”或“System.Threading.Thread.GetDomain().BaseDirectory”; 用“Environment.CurrentDirectory”和“System.IO.Directory.GetCurrentDirectory”将得到“ system32”目录的路径; 如果要使用“Application.StartupPath”或“Application.ExecutablePath ”,需要手动添加对“System.Windows.Forms.dll ”的引用,并在程序开头用“using   System.Windows.Forms”声明该引用; 4.在卸载程序获取系统安装的目录:          System.Reflection.Assembly curPath = System.Reflection.Assembly.GetExecutingAssembly();          string path=curPath.Location;//得到安装程序类SetupLibrary文件的路径,获取这个文件路径所在的目录即得到安装程序的目录; System.Diagnostics.StackFrame f = new System.Diagnostics.StackFrame(1);                 MethodBase mb = f.GetMethod();                 System.Web.HttpContext.Current.Response.Write(mb.DeclaringType.ToString()); 获取调用类的信息,可以从父类知道子类的情况

点我阅读全文...

/* brief: 改变数据库所有对象的所有者 author: 吴尔平 date: 2005/12/19 */ declare @owner varchar(255) set @owner = ‘dbo’ declare @objectname varchar(255) declare @uid int declare object_cursor cursor for select [name],uid from sysobjects where OBJECTPROPERTY (id, ‘IsMSShipped’) = 0 and (xtype like ‘%’) — 如果要指定对象的类型,参考 Transact-SQL 帮助-> sysobjects-> xtype open object_cursor fetch next from object_cursor into @objectname, @uid while(@@fetch_status=0) begin declare @uidName varchar(255) select @uidName = [name] from dbo.sysusers where uid = @uid if @uidName @owner begin –生成 ‘所有者.对象名’ 格式的字符串 set @objectname = @uidName + ‘.’ + @objectname –改变对象所有者 exec sp_changeobjectowner @objectname, @owner end fetch next from object_cursor into @objectname, @uid end close object_cursor deallocate object_cursor go

点我阅读全文...

好兄弟Samin由于工作的需要,在godaddy上购买了Deluxe Hosting – Windows – 1 year,支持多个网站绑定。所以我就托他的福,正好赶上我的主机到期,不如顺便移到国外,省得idc动不动没有任何提示就关掉我的网站,如这次《险些被低俗,小折腾了一下》和这次《有裆的地方,就有江湖。解封了》。 在迁移的过程中,出现了一个问题,“500 – Internal server error”,刚开始完全无从下手,因为没有具体的错误提示,windows主机又没有错误日志记录,所以彻底郁闷了,发了个邮件给那边客服,客服回的邮件态度倒不错,一个劲儿的道歉,只是末了来一句是你的web.config的问题。哈哈哈,我冷笑两声,这哥们/姐们说了和没说一样。从下面的文章可以看到,这个错误和web.config半点关系都没有。不排除有的确实是这个原因,但只我这次绝对不是。 下面进入正题。 现在你手上有了blogengine的项目,首先移除或注释webconfig里的这一句: simple<!–<trust level=”Medium” />—> 然后ftp上传,如果你用的也是Deluxe Hosting ,那么请传到根目录下你的文件夹。传完之后,关于怎么使用管理后台比如filemanager,怎么进行域名解析这些东西网上很多中文教程,我不多累述。关键的是问题解决,如何使网站能跑起来。这里要先说明的是godaddy在买主机的时候会让你绑定一个主域名,如果你想绑定多个站的话,主域名建议只用不常用的域名。重要的域名和文件夹一一对应解析。如下图Domain Management 主域名可以换,反正我是换过了。 下面设置文件夹权限,blogengine.net的数据文件夹app_data,给予读写权限,其余的只读就可以了 FileManager: 按说这就应该行了,因为当初我也是这么想的。欣欣然打开自己的网站,结果godaddy报了这么一个错误——”500 – Internal server error,你的网站出错,而且他是不能被显示的”,囧,不显示我怎么知道错误是什么?于是就有了给客服写邮件的一幕。这是godaddy的缺陷。 这里是最重要的一步,网络上除了一个美国哥们介绍了这种方法,我还没有找到其他能解决500错误的适合的方法。问题还是在app_data文件加上,现在到iis management,首先要做的是吧pipeline设置成classic,为什么这么做?因为这样能跑起来。这是美国兄弟的原话:[quote]Before you complete the next step, let me advise you that BlogEngine did not say to do this, but I found it to be the only way to get BlogEngine to work. So now Click on the Advance button.

点我阅读全文...

这台小黑用了快两年了,07年7月买的,行货。性能是很稳定的,但是由于我工作用,或者平常在家里做个练习或者娱乐一下,导致这个家伙从买来那天开始每天开机时间最少12个小时,所以散热器是非常耗的,特别是调试或者生成程序时会自动占用大量cpu资源,所以发热量也比一般办公或者娱乐要大,持续时间要长一点。 以前已经出过一次问题了,在一年以前的这个时候,去客服换过一个风扇。一年安然无事。上周五一我正在爽《突袭:资源战争》这个游戏,很老的游戏了,突然死机,摸摸键盘和出风口以及出风口底部,很烫,估计有90度。cpu还不得上百度。于是打客服,人家态度极好的说您过保了,换个风扇800大洋一分不能少。呵呵,虽然知道think的客服贵,做好了心里准备,但还是被吓了一下,咽了口唾沫。然后致电中关村鼎好地下2那帮搞维修的JS,说150-200给你修好。我说怎么修啊?换件还是只拆机维修。答曰:不换件只维修。于是我明白了,不就是除尘上油吗,我自己也能做,为什么还要冒着被偷换零件暴力拆机等等的风险让JS给我修呢。好吧,动手的时候到了。另外说一句鼎好地下2那帮人除了走品牌指定维修这一条路之外,其余的零散的维修点十分混乱,到处都是蒙人的地儿。 网上有t61的拆机教程在这里http://www.flyiky.com/viewthread.php?tid=37941,r61和那篇文章还是有很多不一样的地方的。比如U型面板,很大的不同,而且那篇文章有很多细节没有说明。今天我闲着没事做,把散热问题解决了吧 准备工作是一把改锥和一点点导热硅脂。散热器和cpu以及显卡芯片连接,和台式机差不多,所以需要硅脂。 无图无真相: (有点脏的小黑,因为很久没清洁了,今天顺便) 可以参照t61的拆机方法,把掌托和键盘先取下来。机器背部都有tips标明某个螺丝是干吗的,很简单。还是要注意排线连接处,要小心。 内存也参考那篇文章.拿下. 第一个注意的地方:在那猫卡和无线网卡的时候,先把螺丝卸下, 卸无线网卡的时候要小心,因为我觉得那三个连接处不是很结实,万一像拔萝卜似得拔断了,恭喜你失去了Wifi的天线 。这三根线的排列顺序是从左往右灰、白、黑,装回去的时候不要搞错了。 好,现在来看看你手上的配件,十几颗螺丝,一到两根内存,一个掌托,一块猫卡,一块无线网卡。别多了也别少了。 下面是我感觉最费劲的一步,因为网上找不到资料,所以拆起来很伤脑筋。也不敢暴力,怕伤了小黑。所以还是请各位胆大心细吧! U型面板拆解: 先把U型面板的螺丝卸下(这篇文章是我拆机之后一周写得,有些螺丝的位置记不住了,见谅) 把上面的螺丝卸下 来之后,要轻轻的撬动这个地方,   再清算一下,你把上面的螺丝都卸下了,液晶屏排线连接处的卡子也撬松动了,麦克和音响的线也拔掉了,ok,再来:要小心的从各个方位撬一下U型面板,如果没有明显的外力阻挡的话,就应该拿下来了。   现在查显示器,把显示器的排线拔掉,两根金属柱子的螺丝你在上面那一步取背面的螺丝时已经拿掉了,所以你只需轻轻一拔,就成这样了(头颈分离的小黑) 剩下的就简单了,我们的目标是散热器,就那么几个螺丝,拆掉就好了。最后就是为了这个家伙,真脏啊!感谢北京的灰尘天气!!! 既然要解决散热问题,所以需要用来吹气的吹壶一个,就是用手捏一下就能吹一下那个东西,我也不知道叫什么。或者强力一点的电吹风也行,宅男们实在没有就只能动嘴了同学们,先把散热片和扇叶吹干净再说。本来想给风扇的电机轴承上油,但是发现要拆散热器,犯懒了,没拆。只是把老化的硅脂擦掉,涂上了新的,然后组装。 小黑复活啦!!!! 处理以后风扇转速在3000转以上,温度稳定在60度上下,跑大程序最多也就70度,虽然还是有点高,但是起码不死机了,配合散热底座之类的应该再坚持半年不成问题。散热器这东西在北京还是半年清理一次的好,北京灰尘太多。 希望对你有用。 ps:组装的过程中发现多了3颗螺丝,死活想不起来该插到哪里了,呵呵。 Technorati 标签: asp.net,r61,r61散热问题,r61拆机

点我阅读全文...

这个很有用。以下全文转自月光博客 免费网站状态监控服务   网站最重要的就是稳定性,如果网站因为宕机而无法访问,那么对于网站本身来说是一场灾难,网站管理员最重要的职责就是在服务器宕机后第一时间进行恢复,防止网站长时间宕机造成更多损失,因此,网站管理员需要一个对其网站进行24小时不间断的监视的服务,一旦出现无法访问的情况,就立刻通过邮件和短消息通知管理员。这里我介绍一些常用的免费网站宕机监控服务。 SiteUpTime  – 免费用户可以监控一个网站,每半小时监测一次,可监测4个端口,提供4台监测服务器供用户选择,网站不能访问的时候会发送Email通知你。SiteUptime还为免费用户提供统计报告、每月报告邮件等实用服务。 Site 24×7 – 免费用户可以每60分钟检测最多2个网站的情况。可以获得邮件或者短信的告警以及报告。新注册用户可以享受15天全功能使用,之后会自动切换为免费帐户。值得注意的是,这个网站提供中文界面,不懂英文的推荐使用这个网站。 WebPerform – 中文版的网站监测服务,免费用户可以每60分钟监测最多两个网站。 HostTracker – 免费用户每30分钟监控两个网站。 网站保姆 – 中国站长站推出的监控服务器在线状态的服务,免费用户可在30分钟监测一个服务器,邮件通知,收费用户有短信通知。 转载自月光博客 [ http://www.williamlong.info/ ] 本文链接地址:http://www.williamlong.info/archives/1786.html

点我阅读全文...

昨天在虚拟机上改程序,原来是好好的,重新发布一遍以后就出现了“设备未就绪”错误,堆栈跟踪显示System.IO.__Error.WinIOError 错误。然后开始排错,io必定是文件io操作时出现的。所以看了一下代码。这个程序是个网站后台程序,在载入页面之前要检查用户ip,用户ip是存储在服务器的appdata文件夹下面的txt文件,所以估计就是这里了。检查源代码发现原来是程序员A同学测试的时候改成了本地路径,而我的虚拟机和服务器的配置差不多,所以是要相对路径的。改掉之后就正常了。 这个错误之所以要记下来是因为以前完全没有见过。开始没想到只是文件路径这么简单的问题,所以灰头土脸的找了半天。但是其实就是这么简单。所以跟自己说一定要细心啊同学。 Technorati 标签: 设备未就绪,asp.net

点我阅读全文...

用VM虚拟系统为WINDOWS2003企业版的.系统中装有Framework1.1+2.0,做为程序调试时使用,但是安装了framework3.5后,死活也运行不了Framework1.1的程序 .提示: Server Application Unavailable 嗯,iis配置错误啊,然后同时分别注册了1.1+2.0的.还是不行. 最后无意中发现原来是应用程序池的问题.选择MSSHAREPOINTAPPPOOL就可以了. Technorati 标签: framework3.5,Server Application Unavailable

点我阅读全文...