|
|
开发手记-asp.net
asp.net 相关的开发笔记
摘要: 最近有些网友问我现在的项目怎么实现的多国语言的处理,我现在社交平台支持5种不同国家的语言,在平台上每一个用户都可以自己选择自己喜欢的语言
而平台下面的社区是可以由社区的管理者来决定使用哪一种语言,对于多国语言的处理有很多种方案,微软也有自己的一套解决办法。我考虑的是用JSON+缓存的方案。
原因是网站的功能在不断的升级和变化,为了能快速实现和部署。基本的实现步骤如下:
注意,我只是对网站的标识,操作部份进行了多国语言,没有对内容做任何的多语言处理。
先把网站页面上需要进行多国语言的条词进行翻译成不同的5种语言,用EXCEL表格先译好。
比如: 阅读全文
摘要: 交友社区开发_IOC应用 2009-12-9
先来看看现在大型的系统应用,在提及可扩展性上遇到问题点有哪些?
(1)类之间的依赖;(2)接口依赖;(3)基于配置文件和Reflection的工厂模式;
类之间的关系依赖早就不是什么新问题了,做过开发的都知道,这种依赖
会导致的后果很严重,有不清楚的可以去看看OO的原则。看看如何用IOC方式解决程序集的依赖 阅读全文
摘要: 2009-11-14 IIS7配置管理-MSDeploy实际应用
在上一个文章中有提到IIS7配置管理-如何快布署ASP.NET网站,这次来看看如何运用在实际的工作中
在做聚聚呀平台时,因为系统有大量的用户内容需要用户提交上传内容,现在的架构使用了多站点上传
通过IIS来上传用户的内容。从上传的站点集合(1-N)中随机取一个出来用于响应用户的上传请求,如果
上传的站点有20个,而且这20个站点的配置都一样,当修改了一个上传站点的功能如如何快速的布更新到其它的N个呢? 阅读全文
摘要: 2009-11-14 IIS7配置管理-如何快布署ASP.NET网站
在做网站系统时,会有一种这样的应用场景,就是把同一个网站或ASP.NET应用系统,布署到不同的机器上
比如你有3台WEB SERVER,上面运行的网站都是同一个功能相同的网站,这三个网站用于做负载集群
当网站有新功能或新BUG需要更新时,如何快速的布署到其它的服务器。数目标还好办,一个一个COPY过去好了
但如果是10台,30台怎么办,而且COPY这种方式也不一个不太好的地方,有可能有些文件没COPY到,那怎么保证它
布署时的可运行率更高呢。 阅读全文
摘要: 献给为聚聚呀努力工作和关注聚聚呀的人们 阅读全文
摘要: 网络电子商务已经不是一个什么新鲜话题了,电子商务的定义也是很多,很广,具体大家可以去baidu下.电子商务系统中很大的一块就是支付.支付就是付款的方法,渠道.传统的支付手段,最直接的就是货币交易,一手交钱一手交货.还有也可以抵押,用物当作货币来支付.现金支票,银行卡,信用卡等,都是对货币交易的扩展.
电子商务支付的花样很多了,不过本质上还是货币.常见的有:
阅读全文
摘要: asp.net在开发时,在不同的页面间跳转是我们常遇到的一件事,当一个复杂的逻辑在一个页面放不下分成二个或多个页面处理就需要在页面间跳转,用的最多还是用户的登陆吧..
ASP.NET用的最多的跳转是Response.Redirect,这个命令可以直接把请求重定向到一个相对或绝对的路径.它会把当前页面的的Http流阻断直接重定向到新的URL.
而Server.Transfer,这个命令是由IIS服务器直接在服务器端执行跳转,这个跳转的路径必须是相对路径,也就是同一个网站下面的PATH或虚拟目眼录.不能是外网的绝对路径,因为
它直接是由当前请求页面的同一个HTTP句柄指定请求同一站点上的路径.
阅读全文
摘要: 网站访问量大时,在数据层上的IO会成为一个瓶劲,这是迟早会来的事,所以很多人做过大型访问量比较高的应用时,都会去做一个数据库的缓存.用的比较多的还是开源的
memcached,这个组件在业内还是受到不少的好评,很多门户都会用到它来减少数据查询的IO压力.我在做聚聚呀时有一小部份也是用到了这个组件.
如果只是去用这么一个组件那很容易的事,直接在网上搜搜资料就可以完成功能了.但是如果建在系统软件架构上来看就不能这么简单的去处理.
阅读全文
摘要: 在上一篇文章中我介绍了分布式系统方面的基础知识.这里我们来看看分布式实现的另一种HTTP的实现
用XML做为数据交换协议,然后走HTTP实现转输,老姚说它的性能会比WEB SERVICE性能高些.我下次会把这个测试做出来比输下看看有什么区别.
先看看实现吧.先介绍下大至现实过程.客户机请求服务器的一个URL建立HTTP连接,然后直接向服务器POST一个数据流,这个数据流可以用XML,JSON,二进制等.
当服务器接受到POST过来的流后,进行分析,其实就是想要知道客户机需要服务大帮他完成什么,分析完后完成业务功能,直接把处理的结果返回给了客户机.这就过程就算一次调用完成.
做一个简单的验证
阅读全文
摘要: 基于网络应用开发的HTTP的应用开发越来越多,在分布的处理环境中也有越来越多的技术出现,关键是什么场景应用什么技术还是比较关键的.
我们先看看在分布式技术中常见的几种技术,web service,remoting,SOCKET等,在.NET平台下用的比较多的可能还是WEB SERVICE吧
以上的技术其实基本上是通讯层面,利用这些技术完成数据的通讯交换.以达到把任务分布到多台计算机上,然后中央处理机获取到返回的数据
后集中处理,或异步方式来完成业务的功能需要.
阅读全文
摘要: 有时数据库安装时用了default install 选择项,它自动会安装在c:盘下,这样一来,C盘的空间会一直长,因为
temp数据库会越来越大,而且还有log,有什么办法可以移动这二个数据库到其它的分区呢?
我在做聚聚呀平台时就遇到过这样的问题,我是参考微软的方法操作如下.
阅读全文
摘要: 网络游戏这几年在投资界很火,很多风投都看中了中国的游戏市场。
基本上游戏现在都是以C/S游戏和weg game为主流,我这里要记录的主要是部份网游的技术实现部份。
游戏从策划,编剧,美工,开发,运营,整个产品过程很长。而且相关度比较高,开发要和策划相连。
策划的每一个用户场景和开发的的游戏逻辑控制策略都是息息相关的。比例游戏的某一个关对于不同等级的用户,他的怪数量不一样,怪的武器也不一样。可能对话的场景也会有差别。这些在开发上都会与策划相关联。
C/S与B/S游戏在开发实现在的同异,基本上玩家在玩游戏时都是会与服务器建立一个长线连接。基本的过程大致相同如下
阅读全文
摘要: 近日要对数据库来一次优化,首先要知道问题在哪才能优化,使用SQL SERVER2005的分析脚本.
我也就用到了其中的几个.都是从网上东找西找过来.
服务器等待的原因
SELECT TOP 10
[Wait type] = wait_type,
[Wait time (s)] = wait_time_ms / 1000,
[% waiting] = CONVERT(DECIMAL(12,2), wait_time_ms * 100.0
/ SUM(wait_time_ms) OVER())
FROM sys.dm_os_wait_stats
WHERE wait_type NOT LIKE '%SLEEP%'
ORDER BY wait_time_ms DESC;
阅读全文
摘要: 在使用asp.net上使用Memory cache时需要注意,如果用户的并发量很高里,需要把mm
的配置CacheMaxPoolSize和CacheMinPoolSize设置到一个合适的值,在我的项目中,原来设的太小
5-10导致,网站在负载测试时直接挂机了,问题就是出在,如果CacheMaxPoolSize设的太小,每当用户的并发上来后都会
频繁的打开和关闭网络连接.这样WEB服务器的CPU工作负载大.而MM其实是可以保持SOCKET的,所以把这个值加大点后,可以避免过于频繁的打开和关闭MM的连接。
阅读全文
摘要: 用程序创建的MSMQ private msmq后,程序没办法读取。 阅读全文
摘要: # --目前只适合SQL2005,SQL2000的不行
# --批量附加数据库备份例子:
# --exec attach_db_pro 'c:\program files\microsoft sql server\data'
#
# if object_id('attach_db_pro') is not null
# drop procedure attach_db_pro
# go
#
阅读全文
摘要: 聚聚呀平台,在顶不住压力的情况下,购买了一台新服务器.由于旧服务器用的是32位系统,在软件升级上有些限制.后来直接把新服务器升级为64位系统.但在升级为64位系统后出现了一堆问题.
独立域或(非.jujuya.com)二级域名的社区
在论坛发贴时发不了,点了发贴没有反应,blog也是一样,而且创建不了group,这下头大了,做为聚聚呀平台的技术总负责人
的我一个头有四个大,解决不了这个问题将为以后的架构调整有很大的问题.
最初排除代码的问题,因为在32位系统下没有这个问题存在.所以看看是不是IIS的配置问题,发现把有问题的社区统统设成独立APPLICATION POOL就没有这个问题,这问题很怪了.有可能是IIS的设置问题?经过一降排查还是没有发现问题点.
后来猜想是不是64位系统有二个不同的dot net框架,打开windows下面的c:\Windows\Microsoft.NET\Framework64
尽然有这样的东东,难道和这个有关?接着查下去.看看IIS的http
ISAPI Filters有二个一个是64一个是32的.而且APPLICATION POOL有多 阅读全文
摘要: 在数据库的排序规则,它的default 是英文SQL_Latin1_General_CP1_CI_AS,但有时,在这个规则下,它认不到一些特殊的符号
\n,在字符串中它是换行,而在英文的排序规则下它是显示不出来的.
所以有必要把它的排序规则改成中文就可以了
alter database yaf collate SQL_Latin1_General_CP1_CI_AS 阅读全文
摘要: APS.NET或WINDOWS SERVICE 操作MSMQ
windows service操作MSMQ没有权限的问题 阅读全文
摘要: IIS在进程管理器中只看到一个W3P的进程信息,有时一个IIS跑多个网站不知道哪一个应用程序池的性能有问题. 阅读全文
摘要: IIS HTTP 404的错误是指当客户端去请求一个不存在的资源时IIS会返回一个HTTP 404的错误,指定的资源不存在
为了更好的给用户一个良好的体验,把404的错误页面显示某一个网站的友好ERROR页面 阅读全文
摘要: 如何通过ASP.NET程序来访问任外一台文件服务器上的文件. 阅读全文
摘要: 在目前的工作,主要是针对SNS(网络社区)的开发,有同事问,现在系统中,把数据实体独立出来,在开发上,除了在函数调用时,采用传对象的方式外没感觉到他有什么其它方面的优势呢?
这个问题,其实要从多个方面来看,从写代码本身上来说,最直接的感受就是在方法调用时,在方法参数列表中传的都是实体对象, 这样做的目的,是为了免"代码地震"的苦恼,通常业务需求的变化都会引起业务对象本身的变化,把变化的东西独立隔离出来,如果方法参数都是以传值的形式来处理,当某一个业务需求变化时,有可能需要改动某一个方法的参数列表,这样一来的话,所有引用到这个方法的类都会更动,有的人说可以用重载,这个办法也是可以,便这样的重载有多少,代码的很臃肿。 阅读全文
摘要: VS2008创建Silverlight项目出错的解决办法--安装Visual Studio 2008的Silverlight 1.1 Tools Alpha无法创建Silverlight项目 阅读全文
摘要: 公司有一个项目比较有意思,
把社区分布在不同的区域,
或不同的国家来运营,但是对于用户而言,
只需要在这些社区中注册一次用户的信息,就可以用这一个帐号登陆到不同区域的社区,也就是要达到一站式登陆的功能.........
阅读全文
摘要: 最近在做一些比较大的社区平台,做这个平台的构架时考虑的东西比做一个企业的网站考虑的东西要很多,特别是用户的并发请求和用户数据的并发处理.如可去解决这些问题也曾经收集过不少网络的资料,以下的内容只是一个入门的参考作用. 阅读全文
摘要: MSMQ在做分布式处理时可以提高应用程序的稳定和并发性能,以下是做项目上用到的一个简单的MSMQ CLASS
通常用户在进行数据同步时可以利用msmq来做一个同步中间件来解决远程数据同步的问题,在internet上数据不应该放置在外网这样不安全,所以对于某些用户数据的同步完全可以用MSMQ3。0的Http访问远程主机的MSMQ,然后再通过后台进程或用 MSMQ3。0的触发来解决。 阅读全文
摘要: 有时我们需要动态的创建WEB SITE或都是虚拟目录,比如,当用户申请一个社区后,分配一个二级域名的,一个用户一个Web site。这时我们就可以用到。NET访问IIS的功能,来自动创建了。
需要引用using System.DirectoryServices;这个组件来管理IIS,如果是WEB来访问的话还有权限的问题,一般这样并发的要求性能较高的操作都写成SERVICE后台来处理比较合适。 阅读全文
摘要: 正确实现 IDisposable 接口 阅读全文
摘要: 数据库使用连接池使用连接池
看看我们的ado.net的sqlconnection string的参数吧
其中我们设置了最大池数和最小池数,如何来看windows app 和web appp的区别呢
我们可以建一个web application或windows app,启用app后,你在sql分析器用sp_who2可以看到连接上来的客户端,很明显如果是web application或windows app每启动一个客户端就有n个connection上来,远远超过了Max 阅读全文
摘要: 在开发社区网站时必须考虑的一个问题是网络用户的并发请求,除了增加Cache和静态化Html的常用手段外,优化Database的tables关系,及SQL 语句也是相当重要,但用户的并发请求Pages,常常会导致一些复杂业务的查询会有可能会出现Sql Connection Time out的错误,用户的并发请求用光了数据库的连接池,怎么办呢,要从根上解决问题是件不太好做的事,涉及的面和相关技术也很多,有数据库结构本身的问题也有代码的问题,也有服务器硬件的问题,但如果出现了以上的问题肯定会出现"红屏",这对于系统来说是一个大禁,这样的用户体验太差了,出现这样的错误对于用户来说是很不爽,对于专业的开发人员肯定认为这个网站技术做的不好,烂,那如何去解决这个问题,直接切入点就是把数据库的连接池管理起来,在代码里控制数据库的接个池大小,而不时由用户直接去请求数据库的连接池,中间业务逻辑上加一层来现对数据库连接的管理。
基本思路是这样,可以用泛型来做一个数据字典,实现对Sqlconnection的集合的维护。
基本过程: 阅读全文
|