对于如何应用area可以参考如下两篇文章:
这里只是提出一些容易忽视的地方:
1.1、在每次编译时,在主站点下的\Views\Areas目录下会复制出所有的area,目录名称就是area的名称。
1.2、在area子站点下的Routes.RegisterRoutes方法中所注册的areaName需要和上面提到的area名称相同。
如:
routes.MapAreaRoute(
"RyShop.Web.Center",
"Account_Default",
"Profile/{action}/{id}",
new { controller = "Account", action = "Index", id = "" },
new string[] { "RyShop.Web.Center.Controllers" }
);
"RyShop.Web.Center",
"Account_Default",
"Profile/{action}/{id}",
new { controller = "Account", action = "Index", id = "" },
new string[] { "RyShop.Web.Center.Controllers" }
);
这里的area名称就是RyShop.Web.Center
1.3、在应用Html.ActionLink时需要指定正确的area名称如:
Html.ActionLink("Account", "Index", "Account", new { area = "RyShop.Web.Center" }, null)
1.4、由上面可见,这个area名称也太长了,其实这个area名称就是要和程序集的名称相同。如果想把RyShop.Web.Center名称改成Center,可以同时修改
程序集的名称和area名称,保持相同
总之一句话:保持area名称和area项目程序集名称一致。命名空间可以不一致。
1.5、还有一点要注意的是:\Views\Areas目录下生成的area,是由\Manifests目录下的xxx--manifest.xml配置文件决定的,所以如果修改了area,请把\Manifests目录下的文件删除,也把\Views\Areas目录目录清空。
2、远程执行工具PsExec, 可以有效执行服务端的远程命令,并且命令可以写到文本文件中批处理执行。
3、使用ab.exe进行压力测试。
ab.exe是Apache下的压力测试工具,使用方式如:
C:\Program Files\CollabNet Subversion Server\httpd\bin>ab -n1000 -c10 http://www.xxx.com/space-1.html
-n1000 表示发出1000个请求
-c10 表示10个并发
可以通过如上命令来测试服务器处理某个页面的性能,命令结束执行后会列出一些性能指标,如下是部分重要要指标:
吞吐率(Requests per second) = 总请求数(Complete requests) / 总耗时(Time tabken for tests)
用户平均请求等待时间(Time per request) = 总耗时(Time tabken for tests) / (总请求数(Complete requests)/并发用户数(Concurrency Level))
服务器平均请求处理时间(Time per request(across all concurrent requests)) = 总耗时(Time tabken for tests) / 总请求数(Complete requests)
或者
服务器平均请求处理时间(Time per request(across all concurrent requests)) = 用户平均请求等待时间(Time per request) / 并发用户数(Concurrency Level)