asp.net windows服务与windows phone 7

分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月27日-3月4日)-asp.net-电脑编程网分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月27日-3月4日)作者:jv9 和相关&& 分享Silverlight/WPF/Windows
Phone/HTML5一周学习导读(2月27日-3月4日) 本周Silverlight学习资源更新
Silverlight实用窍门系列:57.Silverlight中的Binding使用(二)-数据验证 程兴亮
企业内部使用Silverlight5浏览器内受信任的应用程序 slmk
Silverlight图形编程系列(五)-绘制矢量图之Line fjp813
Silverlight图形编程系列(四)-布局控件Canvas fjp813
SharePoint2010
-- Silverlight托管客户端模型简单示例 霖雨
控制 Silverlight控件样式 翳_铭
【Silverlight】一句话实现 ScrollViewer 滚动事件 Aimeast
Silverlight应用程序中未处理的错误 代码:2104 58005
在Silverlight中使用wcf上传文件并实时显示进度 going1981
Silverlight学习笔记[6] - 如何:定义 Windows Communication
Foundation xiangcns
Silverlight图形编程系列(一)-基础篇 fjp813
Silverlight图形编程系列(二)-使用GetValue和SetValue来设置属性 fjp813
Silverlight图形编程系列(三)-XAML使用集合语 fjp813
Silverlight图形编程系列(六)-图形之Ellipse, Line, Path, Polygon, Polyli fjp813
Silverlight图形编程系列(七)-再续绘制矢量图之Polyline 和
Polygon fjp813
Silverlight学习笔记[1] - unhandled error in
silverlight applicat xiangcns
Silverlight学习笔记[2] -
Frame.JournalOwnership 属性 xiangcns
Silverlight
WorkFlow画图--主界面处理 xiaotuni
浅谈Windows 8, WinRT, XAML 和Silverlight 点点未来
Silverlight之ToolTipService i笑笑online
Silverlight
5 轻松开启绚丽的网页3D世界2—使用Toolkit开发3D Web应用 xpeter
Silverlight学习笔记[3] -
.NET编成中[ServiceContract] 有什么用 xiangcns
Silverlight学习笔记[5] -
对于几个常见到的类的说明 xiangcns
Silverlight学习笔记[6] -
如何:定义 Windows
Communication Foundation xiangcns
Silverlight数据校验之INotifyDataErrorInfo 锐志晨曦
Silverlight
里获取摄像头视频 多个马甲
Silverlight
Data Templates 锐志晨曦
Silverlight调用WCF”远程返回了错误: NotFound” 守、望
Silverlight
用户控件与自定义控件详解 Hello Don Li
本周WPF学习资源推荐
DataGrid、ListView
简单绑定 zhangqynuli
解决WPF部署后客户端访问安全性问题 挑战
各种对话框 winfrom color font
binding 简单使用 实例 源码 淑芩
循环切换图片达到动画效果 dreamzgj
DataGrid自动生成行号 King Cobra
listview绑定数据 xuejianxiyang
图片文件 旋转、缩放、翻转 很奋的一个人
关于WPF的一些事 wangyu
在 WPF 视窗中找到所有控制项 johnny
3D学习心得--记录从此开始 wuwo333
窗体中获取键盘和鼠标无操作时的超时提示 therockthe
在WPF的Page中的导航 therockthe
WPF的ListBox的数据绑定,但需要添加控件在里面的时候 成长心路
WPF的ChildWindow 成长心路
WPF中按钮样式的设置 成长心路
控件的MenuContext绑定 林小荷
[WPF,XAML,ScrollBar,ScrollViewer,Style]
自定义滚动条 qqamoon
在WPF的Canvas上绘制二叉树 小城故事
WPFToolkit LineSeries 线性图,自定义
GridLineStyle,ToolTip,Line Sliphades
本周Windows
7开发学习资源更新
Phone 7屏幕方向与常用控件 麻将我会
更新]Windows Phone 7 实现类似“微博”下拉刷新效果 今昭
解决vs2010 utimate中文版添加Silverlight for WP7模板方案【WP7学习札记之一】 DebugLZQ
Phone 7开发平台介绍及开发注意事项【WP7学习札记之二】 DebugLZQ
按照“红线准则”设计布局【WP7学习札记之三】 DebugLZQ
Phone 7开发(11):常用控件(下) tcjiaan
[Silverlight+XNA
in Windows Phone 7]触碰的例子 paulqq
[Silverlight+XNA
in Windows Phone 7]一个在XNA中画出.fbx模型的例子 paulqq
[XNA+Silverlight
in WP7]如果WP7在XNA上使用Silverlight控制项时,ActualWi paulqq
[Silverlight+XNA]Windows
Phone Silverlight 和 XNA 应用程式 paulqq
[XNA+Silverlight应用程式 in
WP7]若3D模型贴图带有Alpha值,则SpriteBatch会变透明 paulqq
[XNA+Silverlight应用程式 in
WP7]一个在XNA中显示Silverlight控制项的例子 paulqq
[Silverlight+XNA
in WP7]一个简易模型展示器例子 paulqq
Phone 7 的Http网络库使用技巧 oldmanzhao
Phone 7执行模型 oldmanzhao
如何判断Windows Phone 7设备内存是否是256MB Spider_net
Phone 7隔离存储空间 麻将我会
Phone 7应用开发笔记 继承BitmapSource并使用独立存储来缓存远程的图片 kiminozo
豆瓣电台Windows Phone 7客户端 MVVM重构记录之使用MVVM Light实现Event绑定 kklldog
Phone 7生命周期与永久数据和临时数据的保存 麻将我会
Phone 7学习笔记(1)-----在
XAML 页面之间浏览和数据的传递、保留以及恢复 Null_37
Phone 7学习笔记(2)-----应用程序栏ApplicationBar Null_37
Phone 7学习笔记(3)-----独立存储 Null_37
豆瓣电台Windows Phone 7客户端 MVVM重构记录之使用MVVM Light的Message实现导航 kklldog
Phone 7 练习作品(2) 大眼怪
Phone 7中使用本地SQLCE的简单入门 音乐啤酒
Phone 7开发实例(1)——light shensens
Phone 7开发中的性能、内存使用监控方法 johnny默默
为listbox的SelectedItem加入翻转动画(附源码) yewenpeng
Phone 7学习笔记(4)-----快速恢复应用程序上一次的会话状态 Null_37
Phone 7基础点随手记 zhou0291
Phone 7开发学习 zhou0291
Phone 7 – Background File Transfer pou
Phone 7拾遗 柳林风声
Phone 7 隔离存储空间 多个马甲
Phone 7 主题 样式 和 数据绑定 多个马甲
突破限制开发Windows Phone 7手电筒(三种方案) 豆浆咖啡
Phone 7笔记(6)使用地图服务 Aether
Phone 7获取联系人 宇之乐
Phone 7 list中列表项多样化的解决方案-CustomDataTemplateSelector( yewenpeng
Phone 7应用之博客园 Alexis
基于高德地图API 开发Windows Phone 7地图应用 贝壳笨
Phone 7设备信息 宇之乐
常用Task【Windows Phone 7学习札记之四】 DebugLZQ
Phone 7 简易文件传输工具(导入PDF、DOC、图片) knktc
Phone 7开发之GeographicLocation-地理位置服务 xiangshimoni
Phone开发之Accelerometer-加速度传感器 xiangshimoni
[翻译]Windows Phone 7 平衡球游戏开发教程(二) -在XNA 渲染Farseer物理对象 yewenpeng
[翻译]Windows
Phone 7 平衡球游戏开发教程(三)
-DebugDraw(XNA渲染) yewenpeng
[翻译]Windows
Phone 7 平衡球游戏开发教程(四)
-深入了解windowsphone7
游戏底层原理 yewenpeng
5开发学习资源更新
突袭HTML5之Canvas 2D入门1 - Canvas绘制文本和图像 沙场秋点兵
学习手笔一:canvas API 画对角线 Terry_龙
ml5游戏:MM养成 憨二真人
学习手笔一:canvas API 画对角线 Terry_龙
基于html5 WebSocket和WebRTC实现IM和视音频呼叫(一) longrenle
基于html5 WebSocket和WebRTC实现IM和视音频呼叫(二) longrenle
Step by Step(二) 本地存储 Henry Cui
千呼万唤 HTML 5 (11) - 画布(canvas)之效果 webabcd
HTML5游戏框架cnGameJS开发实录(碰撞检测模块篇) Cson
HTML5游戏框架cnGameJS开发实录(外部输入模块篇) Cson
HTML5游戏框架cnGameJS开发实录(游戏循环篇) Cson
A*算法+HTML5实现游戏寻路 Cson
HTML5实现3D迷宫 Cson
Games游戏开发 银光中国网
HTML5是不是解决跨平台问题的终极密钥? 开水里的鱼
学习手笔三:canvas API 绘制树形图案B Terry_龙
突袭HTML5之Canvas 2D入门2 - Canvas绘制图形 沙场秋点兵
突袭HTML5之Canvas 2D入门3 - 变换、组合与动画 沙场秋点兵
canvas标签的width和height以及style.width和style.height的区别 artwl
8个非常有用的HTML5工具 JK_Rus
HTML5开发——轻量级JSON存储解决方案Lawnchair.js 西山
HTML5初探 - 基本的HTML5模版 红草帽
前端开发中常见的HTML5标签乱用案例 radom
笔记 - HTML5网页设计初窥(1) joinchen
GeoLocation 地址转换 xusion
canvas画布(有关HTML5) 龙鹤鹰
基于引擎开发HTML5游戏实战(一)---游戏引擎 cutesource
基于引擎开发HTML5游戏实战(二)---游戏剧本 cutesource
基于引擎开发HTML5游戏实战(三)---组织游戏元素 cutesource
基于引擎开发HTML5游戏实战(四)---组织游戏逻辑 cutesource
基于引擎开发HTML5游戏实战(五)---游戏部署 cutesource
Canvas 网页图形绘制 的呵
canvas 时钟实例 脉凌网络
突袭HTML5之WebSocket入门1 - WebSocket协议 沙场秋点兵
突袭HTML5之WebSocket入门3 - 通信模型socket.io 沙场秋点兵
突袭HTML5之WebSocket入门4 - 开发框架express 沙场秋点兵
本周书籍推荐
Pro Business Applications with Silverlight 5,该书详细介绍微软Silverlight
5商业应用开发指南,书籍由浅入深介绍Silverlight特性,并结合实例讲解Silverlight在商业应用开发技巧和方法。 该书适合Silverlight应用开发人员参考阅读。
书籍下载 欢迎大家加入“专注Silverlight”QQ技术群,欢迎大家加入一起学习讨论Silverlight&WPF&Widnows
Phone开发技术。 (一群)
超级群500人 (二群)
超级群500人 (三群)
高级群200人 (四群)
超级群500人 (五群)
高级群200人 (六群)
超级群500人 (八群)
超级群500人 (九群
企业应用开发推荐群) 高级群200人 (十群)
超级群500人 (十一群
企业应用开发推荐群)超级群500人
if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined =
var cb_blogId = 32860;
var cb_entryId = 2382907;
var cb_blogApp = "jv9";
var cb_blogUserGuid = "538c3d0b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = ' 2:57:00';
绿色通道:好文要顶关注我收藏该文与我联系
相关资料:|||||||分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月27日-3月4日)来源网络,如有侵权请告知,即处理!编程Tags:                &                    清华社红皮书移动开发系列 C china-pub图书专题
移动与嵌入式开发技术
【市场价】¥69.00
【PUB价】¥48.30
【市场价】¥50.00
【PUB价】¥37.50
【市场价】¥68.00
【PUB价】¥47.60
【市场价】¥59.00
【PUB价】¥44.25
【市场价】¥58.00
【PUB价】¥43.50
【市场价】¥39.00
【PUB价】¥29.25
【市场价】¥79.80
【PUB价】¥59.85
【市场价】¥58.00
【PUB价】¥43.50
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥59.80
【PUB价】¥44.85
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥85.00
【PUB价】¥63.75
【市场价】¥99.00
【PUB价】¥74.25
【市场价】¥58.00
【PUB价】¥44.08
【市场价】¥69.80
【PUB价】¥53.75
【市场价】¥69.80
【PUB价】¥59.33
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥48.00
【PUB价】¥36.00
【市场价】¥29.80
【PUB价】¥25.33
【市场价】¥68.80
【PUB价】¥51.60
【市场价】¥46.00
【PUB价】¥39.10
【市场价】¥78.00
【PUB价】¥58.50
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥39.90
【PUB价】¥29.93
计算机语言与程序设计
【市场价】¥85.00
【PUB价】¥63.75
【市场价】¥58.00
【PUB价】¥40.60
【市场价】¥158.00
【PUB价】¥118.50
【市场价】¥99.80
【PUB价】¥74.85
【市场价】¥148.00
【PUB价】¥103.60
【市场价】¥69.80
【PUB价】¥59.33
【市场价】¥78.00
【PUB价】¥66.30
【市场价】¥69.80
【PUB价】¥53.05
【市场价】¥88.00
【PUB价】¥66.00
【市场价】¥128.00
【PUB价】¥96.00
【市场价】¥98.00
【PUB价】¥83.30
【市场价】¥69.80
【PUB价】¥52.35
【市场价】¥99.80
【PUB价】¥84.83
【市场价】¥98.00
【PUB价】¥73.50
【市场价】¥88.00
【PUB价】¥74.80
【市场价】¥58.00
【PUB价】¥43.50
【市场价】¥59.80
【PUB价】¥50.83
【市场价】¥58.00
【PUB价】¥49.30
【市场价】¥98.00
【PUB价】¥83.30
【市场价】¥59.80
【PUB价】¥50.83
【市场价】¥49.00
【PUB价】¥36.75
【市场价】¥68.00
【PUB价】¥57.80
【市场价】¥49.00
【PUB价】¥36.75
网络与通信
【市场价】¥48.00
【PUB价】¥37.44
【市场价】¥79.80
【PUB价】¥59.85
【市场价】¥88.00
【PUB价】¥66.00
【市场价】¥58.00
【PUB价】¥43.50
【市场价】¥58.00
【PUB价】¥43.50
【市场价】¥98.00
【PUB价】¥73.50
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥59.80
【PUB价】¥44.85
【市场价】¥88.00
【PUB价】¥66.00
【市场价】¥85.00
【PUB价】¥72.25
【市场价】¥86.00
【PUB价】¥64.50
【市场价】¥158.00
【PUB价】¥118.50
【市场价】¥69.00
【PUB价】¥51.75
【市场价】¥68.00
【PUB价】¥57.80
【市场价】¥36.00
【PUB价】¥27.36
【市场价】¥58.00
【PUB价】¥49.30
【市场价】¥86.00
【PUB价】¥81.70
【市场价】¥79.80
【PUB价】¥59.85
【市场价】¥158.00
【PUB价】¥134.30
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥139.00
【PUB价】¥118.15
【市场价】¥58.00
【PUB价】¥43.50
【市场价】¥88.00
【PUB价】¥66.00
【市场价】¥99.00
【PUB价】¥74.25
【市场价】¥68.00
【PUB价】¥57.80
【市场价】¥58.00
【PUB价】¥49.30
【市场价】¥48.00
【PUB价】¥36.00
【市场价】¥48.00
【PUB价】¥36.00
【市场价】¥168.00
【PUB价】¥142.80
【市场价】¥98.00
【PUB价】¥83.30
【市场价】¥118.00
【PUB价】¥100.30
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥79.80
【PUB价】¥67.83
【市场价】¥56.00
【PUB价】¥47.60
【市场价】¥79.99
【PUB价】¥67.99
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥88.00
【PUB价】¥74.80
本书已售空
【市场价】¥48.00
【PUB价】¥36.00
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥158.00
【PUB价】¥134.30
【市场价】¥68.00
【PUB价】¥51.00
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥39.99
【PUB价】¥33.99
【市场价】¥69.00
【PUB价】¥58.65
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥68.00
【PUB价】¥57.80
【市场价】¥36.00
【PUB价】¥30.60
【市场价】¥138.00
【PUB价】¥117.30
【市场价】¥58.00
【PUB价】¥49.30
【市场价】¥48.00
【PUB价】¥40.80
【市场价】¥59.90
【PUB价】¥44.93
【市场价】¥68.00
【PUB价】¥57.80
【市场价】¥78.00
【PUB价】¥66.30Those of you who have been building ASP.NET applications for a while now are no doubt familiar with the provider model, which includes provider abstractions for membership (authentication), roles (authorization), profiles (user data), and session state. These providers make it incredibly easy to provide a secure framework for your application. In fact, with an ASP.NET application template right out of the box, you can have a fully functioning authenticated, secure website in minutes.
What a lot of people have less familiarity with is the notion of provider services. You can actually create a WCF service head that sits on top of the ASP.NET membership system. This allows client applications to authenticate against your ASP.NET website using exactly the same authentication scheme that your users use. This means that a user who has access to your website should also be able to have access to the client application seamlessly.
To see how this works, create yourself a new ASP.NET MVC app (you can do this with a regular ASP.NET app, but I just happened to use MVC). Before doing anything, run the app, go to the “Log On” area, register yourself as a user and then quit the app. If you’ve got SQL Express installed properly and everything else is in order, your app now knows who you are.
Next, add a new WCF service to this application (call it Authentication.svc). Delete the files Authentication.svc.cs and the IAuthentication.cs. Open up the Authentication.svc file and replace it’s contents entirely with the following:
&%@ ServiceHost Language=&C#&
Service=&System.Web.ApplicationServices.AuthenticationService& %&
Note here that there’s no code-behind. All we’re doing is exposing a service that is already part of the ASP.NET framework at a specific endpoint. You’re not quite ready yet – we have to make this service ASP.NET compatible, so open up your Web.config file and make sure that your system.servicemodel section looks like this:
&system.serviceModel&
&services&
&service name=&System.Web.ApplicationServices.AuthenticationService&
behaviorConfiguration=&AuthenticationServiceBehaviors&&
&endpoint contract=&System.Web.ApplicationServices.AuthenticationService&
binding=&basicHttpBinding& /&
&/service&
&service name=&Wp7AspNetMembership.HelloService&
behaviorConfiguration=&AuthenticationServiceBehaviors&&
contract=&Wp7AspNetMembership.IHelloService&
binding=&basicHttpBinding&/&
&/service&
&/services&
&serviceHostingEnvironment aspNetCompatibilityEnabled=&true&
multipleSiteBindingsEnabled=&true& /&
&behaviors&
&serviceBehaviors&
&behavior name=&AuthenticationServiceBehaviors&&
&serviceMetadata httpGetEnabled=&true& /&
&/behavior&
&behavior name=&&&
&serviceMetadata httpGetEnabled=&true& /&
&serviceDebug includeExceptionDetailInFaults=&false& /&
&/behavior&
&/serviceBehaviors&
&/behaviors&
&/system.serviceModel&
&system.web.extensions&
&scripting&
&webServices&
&authenticationService enabled=&true& requireSSL=&false&/&
&/webServices&
&/scripting&
&/system.web.extensions&
What’s going on in this Web.config file is pretty interesting. First, we’re exposing Authentication.svc and HelloService.svc (not yet created) over HTTP, with metadata allowed, with ASP.NET compatibility enabled. We’ve also used the system.web.extensions element to indicate that the authentication service is being enabled. In a production environment, you would set requireSSL to true.
At this point, you should be able to hit the URL /Authentication.svc and see the standard metadata page. Now let’s create HelloService.svc by creating a standard WCF service. Change the interface so it only has a single method called HelloWorld() that returns a string. The following is the implementation of HelloService.svc.cs:
using System.Collections.G
using System.L
using System.Runtime.S
using System.ServiceM
using System.T
using System.W
using System.ServiceModel.A
namespace MvcApplication1
[AspNetCompatibilityRequirements(
RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class HelloService : IHelloService
public string HelloWorld()
if (HttpContext.Current.User.Identity.IsAuthenticated)
return HttpContext.Current.User.Identity.N
return &Unauthenticated Person&;
This is a pretty simple service. Just pretend that instead of returning the name of the authenticated user, we’re actually performing some vital business function that requires a valid user context.
Now, we can get to the good stuff : the WP7 application
In this WP7 application we’re going to create a login form, submit user credentials over the wire, get validation results and, if the user was authenticated, we’re going to call the HelloWorld() method with a validated, secure context – all of this with an incredibly small amount of work on the part of the WP7 client.
Add a new WP7 application (just the stock one, not the list view) to the solution, I called mine TestMembershipClient but you can pick whatever you like. Add service references to Authentication.svc and to HelloWorld.svc (I named the reference namespaces MvcWebAppReference for authentication and AspNetMvcRealReference for the service that simulates doing real work).
On your main page, drop a couple text block labels, two text boxes, and a submit button. When you run the app at this point, it should look like this screenshot:
WP7 Login Form
Now rig up a click handler for the submit button with code that looks like this:
private void LoginButton_Click(object sender, RoutedEventArgs e)
MvcWebAppReference.AuthenticationServiceClient authService =
new MvcWebAppReference.AuthenticationServiceClient();
cc = new CookieContainer();
authService.CookieContainer =
authService.LoginCompleted +=
new EventHandler&MvcWebAppReference.LoginCompletedEventArgs&(
authService_LoginCompleted);
authService.LoginAsync(UsernameBox.Text, PasswordBox.Text, &&, true);
void authService_LoginCompleted(object sender,
MvcWebAppReference.LoginCompletedEventArgs e)
if (e.Error != null)
MessageBox.Show(&Login failed, you Jackwagon.&);
AspNetMvcRealReference.HelloServiceClient helloService =
new AspNetMvcRealReference.HelloServiceClient();
helloService.CookieContainer =
helloService.HelloWorldCompleted +=
new EventHandler&AspNetMvcRealReference.HelloWorldCompletedEventArgs&(
helloService_HelloWorldCompleted);
helloService.HelloWorldAsync();
void helloService_HelloWorldCompleted(object sender,
AspNetMvcRealReference.HelloWorldCompletedEventArgs e)
MessageBox.Show(&You're logged in, results from svc: & + e.Result);
Most of this is pretty straightforward. When the user clicks the submit button, it calls the LoginAsync method on the membership service (remember that all service calls in Silverlight are asynchronous). When we get the results of that call, we either tell the user that their login has failed, or we invoke the HelloWorld method (also asynchronously). When the hello world method comes back from the server, we display the results of the execution in a message box that looks like the one in the screenshot below:
Results of Calling a Secured Service from WP7
One thing to take very careful note of is the CookieContainer. Because we’re using two different proxies: 1 to talk to the authentication service and 1 to talk to the hello world service, we have to ensure that these two proxies are using the same cookie container so that the auth cookie can be used by subsequent method calls on other services. You can do this for an unlimited number of services that are on the same DNS domain, so long as they all share the same cookie container. To enable the use of cookie containers in WCF services in Silverlight (it’s disabled by default), you have to set the enableHttpCookieContainer property to true. in the binding element in the ServiceReferences.ClientConfig file.
On the surface you might not think this is all that big of a deal. You might also think this is difficult but, keep in mind that I provided a pretty detailed walkthrough. This whole thing only took me about 15 minutes to set up from start to finish once I’d figured out how the CookieContainer thing worked. So why bother with this?
Consider this: If you already have an ASP.NET application that is using the membership provider, role provider, and profile provider you can quickly, easily, and securely expose services to a mobile (WP7) client that allow that client to have secured, remote access to services exposed by that site. In short, any user of your existing web application can use their existing credentials to log in from their WP7 device and access any services you decide to make available.
ASP.NET provider services, coupled with WP7 and the fact that Silverlight has access to WCF client proxy generation, means you can very easily prep your site for a rich WP7 experience.
, , , , , , , ,
Administrator
Pingback: ()
Pingback: ()
Pingback: ()
Pingback: ()
Pingback: ()
Post Calendar
August 2010
91011131415
16171819202122
23242526272829
& 2015 . All rights reserved.
Theme by .

我要回帖

更多关于 windows phone 7 的文章

 

随机推荐