08 2012 档案

摘要:1、Settings -> cellular -> Data connection设置为On。2、Settings -> cellular -> Data roaming options设置为roam。3、Settings -> cellular -> Highest connection speed设置为3G。4、Settings -> cellular -> add apn,APN、User name、Password填写b-mobile对应的信息。5、重新启动手机,尝试访问一些互联网应用。比如:新浪微薄、街旁、浏览器。P.S. 成田机场用不 阅读全文
posted @ 2012-08-29 09:26 junchu25 阅读(169) 评论(0) 推荐(0) 编辑
摘要:这几天发现Lumia 900能够接收短信,但无法发送。网络上的方案:1、power off2、取出sim card3、开机4、power off5、插入sim card6、开机7、SETTINGS -> reset your phone参考上述步骤后,问题依然无法解决。打开MESSAGING的SETTINGS,查看当前SMS Center number是否为供应商号码(移动:+8613800210500)。发现为当前手机号码,修改回去问题解决。 阅读全文
posted @ 2012-08-19 02:01 junchu25 阅读(226) 评论(0) 推荐(0) 编辑
摘要:消息中间件以不同AppDomain方式隔离加载消息处理器。其中的AppDomainWatcher类型会监控每个插件目录的文件是否变化,当发生变化时则卸载这个AppDomain,并在下次访问时新建。开发进度下,往往会频繁更新这些插件。极为偶然的情况下会出现:AttemptedtoaccessanunloadedAppDomain.atSystem.AppDomain.CreateInstanceAndUnwrap(StringassemblyName,StringtypeName) 。WinDbg附加等待错误发生,之后捕捉到一个second chance。大致内容如下: 1 ModLoad: 0 阅读全文
posted @ 2012-08-14 00:01 junchu25 阅读(2219) 评论(0) 推荐(0) 编辑
摘要:编写单元测试时,新增一个控制器的抽象类。如下定义:1 [TestClass]2 public abstract class TestControllerBase<T> : TestBase where T : Controller编写一个HomeController的单元测试:1 [TestClass]2 public class TestHomeController : TestControllerBase<HomeController>编译通过,但Test的Output窗口提示:System.TypeLoadException was unhandledMessag 阅读全文
posted @ 2012-08-13 23:17 junchu25 阅读(746) 评论(0) 推荐(0) 编辑
摘要:为了和TFS更好集成,自动化编译、测试、发布。通常我会在Debug模式下使用NUnit、Release模式下基于Visual Studio Unit Testing。在Debug模式下定义一个条件编译符号:NUNIT,部分Attribute声明为兼容Visual Studio Unit Testing。比如:1 #if !NUNIT2 using Microsoft.VisualStudio.TestTools.UnitTesting;3 #else4 using NUnit.Framework;5 using TestClass = NUnit.Framework.TestFixtureAt 阅读全文
posted @ 2012-08-11 12:04 junchu25 阅读(398) 评论(0) 推荐(0) 编辑
摘要:Silverlight和服务端进行通信前会向服务端请求一个安全策略文件,在Silverlight 3.0中这个请求端口为943、Silverlight 4.0也可以是80。请求的模式取决于你的应用程序中SocketAsyncEventArgs.SocketClientAccessPolicyProtocol所指的值为Http或Tcp。如果是Http,需要在IIS中为80的站点添加net.tcp类型的绑定,并指明端口(4502 - 4530)。Tcp则需要一个应用程序负责监听943端口,当请求为时返回你的策略文件内容。策略文件的格式可以如下:<?xml version="1.0& 阅读全文
posted @ 2012-08-11 12:00 junchu25 阅读(444) 评论(0) 推荐(0) 编辑
摘要:比较明显的两个改进:选择进程 -> 属性 -> threads -> stack可以查看托管frame、System Information的图例接近Windows 8风格。下载地址:http://technet.microsoft.com/en-us/sysinternals/bb896653 阅读全文
posted @ 2012-08-11 11:51 junchu25 阅读(162) 评论(0) 推荐(0) 编辑
摘要:PDC 2010 Hejlsberg的演讲中我们看到了VB.NET、C#新的简化异步编程的方式(可以下载新的Async CTP体验)。之前的TPL(Task Parallel Library)简化了并行编程。工业语言的飞速发展大大改进、简化了开发人员的编程方式。不仅是微软平台的托管语言,非托管语言也始终保持着一定程度的进化,我想通过两三篇文章来讲述Visual C++ 2010并行编程相关的内容。在介绍Visual C++ 2010的ppl之前,先简单介绍两个比较重要的新语法特性:1、auto关键字Visual C++ 2010中的auto关键字不再是以前简单的自动变量的概念,它被用于简化变量 阅读全文
posted @ 2012-08-11 11:44 junchu25 阅读(723) 评论(0) 推荐(0) 编辑
摘要:在做一些产品时往往需要通过一些工具生成API文档供第三方开发人员查阅。在这里我主要讲述的是基于jsdoc-toolkit如何生成javascript文档、编写javascript时应当如何编写符合jsdoc-toolkit可阅读的注释。首先下载jsdoc-toolkit => http://code.google.com/p/jsdoc-toolkit/,解压缩到任意目录。建议编写一个批处理方便生成文档:java -jar jsrun.jar app/run.js -a -p -t=templates/jsdoc js/*.js(-p用来输出@private修饰的变量、函数、类型),然后 阅读全文
posted @ 2012-08-11 11:24 junchu25 阅读(461) 评论(0) 推荐(0) 编辑
摘要:下载gtest并使用visual studio 2010编译它。编译成功后再Visual Studio中添加gtest的include目录。创建一个Win32 Console项目,添加gtest的头文件:#include <gtest/gtest.h>项目属性添加gtest相关联的库链接目录:1、Linker -> General -> Additional Library Directories -> 设置为gtest编译后目录2、Linker -> Input -> Additional Dependencies -> 添加gtestd.li 阅读全文
posted @ 2012-08-11 11:19 junchu25 阅读(434) 评论(0) 推荐(0) 编辑
摘要:Kinect for Windows SDK只能够在Windows 7以上版本安装,Windows Server 2008(Windows Vista内核)要继续安装它需要用一个hex的编辑器修改msi里判断操作系统版本的脚本。搜索VersionNT字符串会看到有一个代码段是判断VersionNT>=601,将1修改为0(600是Windows Vista)。 阅读全文
posted @ 2012-08-11 11:18 junchu25 阅读(148) 评论(0) 推荐(0) 编辑
摘要:使用DirectUI需要directuiCom.dll,包含IDirectUI.h和DirectuiDef.h。在你的应用程序中初始化CLSID_DirectUI,并获取IDirectUI(IID_IDirectUI)接口。具体初始化方式可以参考官网示例。DirectUI的界面定义分为xml + script。xml定义界面的布局、样式、资源。script文件定义相关消息的映射处理,并通过Window.OnSkinCmd转发相应的消息到指定的函数。假设这里你使用的技术是ATL,DirectUI定义了WM_SKIN_COMMAND消息,你可以添加对应的MESSAGE_HANDLER:MESSAG 阅读全文
posted @ 2012-08-11 11:15 junchu25 阅读(882) 评论(0) 推荐(0) 编辑
摘要:WriteableBitmap可以对元素产生贴图,而这个元素并不需要被实际添加到呈现元素中。Canvas的特点是在给定的宽度、高度显示元素,如果元素超出给定的viewport就不可见。对于一个元素来说裁剪左上部分的图片可以通过Canvas的SetLeft和SetTop函数或者对元素进行移动的变换(TranslateTransform)。而右下角的部分可以通过显示设置Canvas的宽度、高度来定义。比如你可以编写这么一个扩展函数来将元素裁剪到一个Canvas: 1 /// <summary> 2 /// 剪辑为画布 3 /// </summary> 4 /// <p 阅读全文
posted @ 2012-08-11 11:12 junchu25 阅读(384) 评论(0) 推荐(0) 编辑
摘要:HttpResponse的Filter属性允许开发人员定义一个派生于Stream的类型,修改Http Entity Body。比如原来的Web应用程序并没有添加兼容性标记,许多页面也并没有使用Master,各处修改增加了许多工作量。编写一个HttpModule,在Init函数中订阅HttpApplication的ReleaseRequestState事件。1 // <summary>2 /// 初始化3 /// </summary>4 /// <param name=”context”>上下文</param>5 public void Init( 阅读全文
posted @ 2012-08-11 11:11 junchu25 阅读(3048) 评论(3) 推荐(0) 编辑
摘要:Silverlight不同于WPF,自定义Cursor需要通过其它方式实现。我们可以为一个元素定义一个CursorBehavior,建议使用自定义Cursor的Panel为Canvas,否则需要对自定义的Cursor做TranslateTransform。附件Behavior的时候,为Canvas添加一个Image元素,默认Visibility为Collapsed。Image元素的ZIndex值要较大,这样可以确保始终在其它元素前面。订阅Canvas的MouseMove和MouseLeave事件,MouseMove事件产生后用来定位Image的坐标,而MouseLeave事件产生后用来隐藏Im 阅读全文
posted @ 2012-08-11 11:06 junchu25 阅读(597) 评论(0) 推荐(0) 编辑
摘要:在IE9下如果object标签的classid没有值则它的data数据无法加载,如果object本身没有classid可以使用它的type,比如text/x-scriptlet。 阅读全文
posted @ 2012-08-11 10:51 junchu25 阅读(165) 评论(0) 推荐(0) 编辑
摘要:记得在以前的博客里就提到过probing的privatePath属性可以定义当前AppDomain搜索程序集文件的目录。比如当前应用程序使用A.dll,但是A.dll并没有直接存放在AppDomain的根目录下,而是存储于子目录。在应用程序配置文件中添加probing privatePath可以解决 阅读全文
posted @ 2012-08-11 10:48 junchu25 阅读(4295) 评论(0) 推荐(0) 编辑
摘要:Unity提供了一种默认注入CallHandler的机制,只需要开发人员提供继承于HandlerAttribute抽象类,并实现CreateHandler函数,它返回一个实现ICallHandler的类型。你可以通过上下文传递的IUnityContainer创建对应的ICallHandler实现。看 阅读全文
posted @ 2012-08-11 10:45 junchu25 阅读(298) 评论(1) 推荐(0) 编辑
摘要:Unity可以定于拦截的匹配策略,只要你实现了IMatchingRule接口。我们可以根据实际中框架的不同需求,开发不同的MatchingRule。比如Unity自带的TypeMatchingRule只能够匹配给定的类型,但是无法匹配当前类型的基类型。只要当前类型或者它继承的类型层次结构上等于某个特 阅读全文
posted @ 2012-08-11 10:44 junchu25 阅读(280) 评论(0) 推荐(0) 编辑
摘要:企业库默认提供了AuthorizationCallHandler、ExceptionCallHandler、LogCallHandler、PerformanceCounterCallHandler、ValidationCallHandler。但是你会发现你无法直接通过Unity提供的AddCallH 阅读全文
posted @ 2012-08-11 10:42 junchu25 阅读(347) 评论(0) 推荐(0) 编辑
摘要:Unity提供了丰富的拦截匹配策略,同时它也提供了ApplyNoPoliciesAttribute用于对特定的成员不应用拦截策略。看一个简单的示例: MyObject类型的DoWork函数不会被拦截。 阅读全文
posted @ 2012-08-11 10:41 junchu25 阅读(192) 评论(0) 推荐(0) 编辑
摘要:Unity提供了匹配多个Type的规则TypeMatchingRule类型。和TagAttributeMatchingRule的tagToMatch参数一样,TypeMatchingRule的参数typeName一样不支持通配符。看一个简单的示例: 配置文件如下: 阅读全文
posted @ 2012-08-11 10:40 junchu25 阅读(351) 评论(0) 推荐(0) 编辑
摘要:Unity通过TagAttribute显示定义需要被拦截注入的成员,TagAttributeMatchingRule类型用来匹配该规则。需要注意的是TagAttributeMatchingRule不支持通配符。看一个简单的例子: 配置文件定义如下: 阅读全文
posted @ 2012-08-11 10:36 junchu25 阅读(400) 评论(0) 推荐(0) 编辑
摘要:之前提到Unity提供的ParameterTypeMatchingRule无法定义返回值,ReturnTypeMatchingRule就是用来完成限制这个条件。看一个简单的示例: MyObject中只有函数DoWork的返回值匹配了定义,配置文件定义如下: 阅读全文
posted @ 2012-08-11 10:34 junchu25 阅读(306) 评论(0) 推荐(0) 编辑
摘要:Unity提供了用于匹配函数名称和类型签名的规则MethodSignatureMatchingRule类型。ParameterTypeMatchingRule用于匹配函数的参数类型和参数性质(In、Out),但是无法匹配函数名称。而MethodSignatureMatchingRule的缺点是无法限 阅读全文
posted @ 2012-08-11 10:29 junchu25 阅读(324) 评论(0) 推荐(0) 编辑
摘要:Unity提供了针对类型属性的拦截规则PropertyMatchingRule类型。它的属性名称匹配通配符规则和MemberNameMatchingRule等类型相同。它可以指定拦截getter、setter或者同时拦截。看一个简单的示例: 上面的示例只有调用Name属性的setter才会被拦截。配 阅读全文
posted @ 2012-08-11 10:27 junchu25 阅读(300) 评论(0) 推荐(0) 编辑
摘要:Unity提供了函数入口参数类型匹配的规则ParameterTypeMatchingRule类型。它可以针对一些特定函数的入口参数进行拦截,比如拦截入口参数类型为Int32和Char的函数,看一个简单示例: 只有MyObject的DoWork和DoWork2函数符合定义的ParameterTypeM 阅读全文
posted @ 2012-08-11 10:24 junchu25 阅读(399) 评论(0) 推荐(0) 编辑
摘要:Unity提供了根据名称空间进行匹配规则的类型NamespaceMatchingRule,它的通配符规则和MemberNameMatchingRule相同。看一个简单的示例: 配置文件如下定义: 阅读全文
posted @ 2012-08-10 11:55 junchu25 阅读(643) 评论(0) 推荐(0) 编辑
摘要:Unity提供了基于成员名称的匹配规则类型MemberNameMatchingRule,允许根据匹配表达式进行注入。看一个简单示例: 上面的示例只有DoWork被调用。MemberNameMatchingRule提供了符号*用来完成剩余部分的匹配,如果只传递*则表示全部。 使用*: 使用后置*: 使 阅读全文
posted @ 2012-08-10 11:53 junchu25 阅读(434) 评论(0) 推荐(0) 编辑
摘要:在声明式编程流行的今天,对于AOP中许多附加功能我们往往会通过声明一个Attribute更为直观的展示。比如需要添加一个LogHandler,那就定义一个LogSupportAttribute。Unity提供了自定义Attribute的匹配规则类型CustomAttributeMatchingRul 阅读全文
posted @ 2012-08-10 11:49 junchu25 阅读(708) 评论(0) 推荐(0) 编辑
摘要:Unity的拦截策略中提供了程序集匹配规则,我们可以对于属于某个特定程序集的类型附加CallHandler。看一个简单的示例: AssemblyMatchingRule的构造函数允许传递字符或者Assembly信息。上面的示例传递了当前AppDomain入口的EntryAssembly,MyObje 阅读全文
posted @ 2012-08-10 11:46 junchu25 阅读(733) 评论(0) 推荐(0) 编辑
摘要:在研究Unity的AdditionalInterfaces时候产生一个疑问,假设现有类型的函数名称和一个接口的函数名称相同,通过附加接口后创建的代理类型规范了这一组操作。下面是模拟的定义和调用: 现在通过Intercept的NewInstanceWithAdditionalInterfaces函数为 阅读全文
posted @ 2012-08-10 11:43 junchu25 阅读(361) 评论(0) 推荐(0) 编辑
摘要:Unity提供了PolicyInjectionBehavior用来为一个类型创建时定义拦截的策略,符合特定条件的类型才会被附加特定的功能,当然之前你必须先定义使用的Interceptor。默认规则有:Assembly、CustomAttribute、Member Name、Method Signat 阅读全文
posted @ 2012-08-10 11:43 junchu25 阅读(203) 评论(0) 推荐(0) 编辑
摘要:Unity的拦截技术可以独立使用,你不需要使用Microsoft.Practices.Unity.dll、Microsoft.Practices.Unity.Configuration.dll、Microsoft.Practices.ServiceLocation.dll。而只需要使用Microso 阅读全文
posted @ 2012-08-10 11:41 junchu25 阅读(333) 评论(0) 推荐(0) 编辑
摘要:Unity默认提供了三种拦截器:TransparentProxyInterceptor、InterfaceInterceptor、VirtualMethodInterceptor。 TransparentProxyInterceptor:代理实现基于.NET Remoting技术,它可拦截对象的所有 阅读全文
posted @ 2012-08-10 11:40 junchu25 阅读(2499) 评论(3) 推荐(0) 编辑
摘要:继续前一篇实现的NotifyPropertyChangedBehavior,如何在配置文件中添加: 默认Unity的配置无法识别interceptor,需要在unity配置节中添加一个sectionExtension,由InterceptionConfigurationExtension处理(Mic 阅读全文
posted @ 2012-08-10 11:38 junchu25 阅读(441) 评论(0) 推荐(0) 编辑
摘要:Unity提供了自带的拦截器,如果你并不想编写繁琐的拦截器可以选择编写更轻量的方式Behavior。拦截器的应用场景有不少,比如一些数据访问框架,它们的核心概念是AOP。通过创建一个继承于类型的代理类型,并重写它的virtual函数将拦截器置入其中。前置处理函数负责打开数据库连接、启动事务,后置处理 阅读全文
posted @ 2012-08-10 11:36 junchu25 阅读(451) 评论(0) 推荐(0) 编辑
摘要:Unity的函数依赖注入和之前提到的构造函数、属性使用相同。InjectionMethodAttribute指定需要注入的函数。 DependencyAttribute可以指定需要依赖注入的注册名称。OptionalDependencyAttribute在没有注册相应类型的时候默认返回null。 阅读全文
posted @ 2012-08-10 11:30 junchu25 阅读(280) 评论(0) 推荐(0) 编辑
摘要:Unity的属性依赖注入不同于构造函数的默认注入,它需要显示为被注入的属性添加DependencyAttribute。 MyObject的MyInterface属性被注入了MyInterfaceImpl,但是MyInterface2属性由于没有DependencyAttribute则不被注入。Uni 阅读全文
posted @ 2012-08-10 11:29 junchu25 阅读(584) 评论(0) 推荐(0) 编辑
摘要:Unity的构造函数依赖注入提供一种默认的行为,在Resolve一个类型实例时完成依赖注入(这个类型并不一定需要注册,但注入类型需要注册)。看一个简单的示例: MyObject的构造函数参数myInterface和myInterface2被注入了MyInterfaceImpl和MyInterface 阅读全文
posted @ 2012-08-10 11:27 junchu25 阅读(356) 评论(0) 推荐(0) 编辑
摘要:Unity默认提供了ContainerControlledLifetimeManager、TransientLifetimeManager、HierarchicalLifetimeManager、PerResolveLifetimeManager、PerThreadLifetimeManager和E 阅读全文
posted @ 2012-08-10 11:24 junchu25 阅读(437) 评论(0) 推荐(0) 编辑
摘要:Unity的Container允许树型的层次结构,比如一个Container下可以有多个子Container,这些Container下也允许有多个子Container。示例如下: 值得注意的是一般情况下父Container的销毁并不影响子Container的使用。 阅读全文
posted @ 2012-08-10 11:21 junchu25 阅读(202) 评论(0) 推荐(0) 编辑
摘要:Unity给出一种延迟创建对象的方案,可以先获取对象的创建器 -> 再注册类型 -> 其余代码 -> 创建类型实例,创建器的类型必须是Func<T>,而不是和Func相同返回值的delegate。看一个简单示例: 由于4.0默认新增了Lazy<T>(3.5可以添加并行库System.Threadin 阅读全文
posted @ 2012-08-10 11:20 junchu25 阅读(250) 评论(0) 推荐(0) 编辑
摘要:在一些情况下虽然我们抽象了接口或者基类型,但是配置不同的实现可能需要提供不同的初始化值,比如两个实现类型的构造函数参数相同,但一个类型的某个参数会产生变化。在Unity中可以通过ParameterOverride完成(Unity还提供了DependencyOverride、PropertyOverr 阅读全文
posted @ 2012-08-10 11:19 junchu25 阅读(278) 评论(0) 推荐(0) 编辑
摘要:Unity允许在构造一个类型实例时对constructor、property、method进行依赖注入。比如ILogger的实现类型MyLogger有一个属性LogWritter,类型是TextWriter。它依赖一个名为LogWriter的类型注册,ILogger和MyLogger的定义如下: 首 阅读全文
posted @ 2012-08-10 11:17 junchu25 阅读(643) 评论(0) 推荐(0) 编辑
摘要:Unity提供了四个配置节来完成类型示例的创建。使用示例类型如下: 1、lifetime,管理类型实例的生命周期。Unity默认提供了几种实现,比如常用的singleton(单例)、perthread(ThreadStatic)等。 开发人员可以通过继承于LifetimeManager自定义生命周期 阅读全文
posted @ 2012-08-10 11:07 junchu25 阅读(2000) 评论(0) 推荐(0) 编辑
摘要:Unity提供Automatic Type Lookup,你可以在配置节中定义assembly和namespace,比如mscorlib和System: 你可以为类型定义别名,默认Unity为基元类型定义了对应的别名,等同于C#中的关键字。比如System.Int32对应int(下面的int别名可以 阅读全文
posted @ 2012-08-10 10:58 junchu25 阅读(2229) 评论(1) 推荐(1) 编辑
摘要:1、当前AppDomain的配置文件(App.config或Web.config,通过AppDomain.CurrentDomain.SetupInformation.ConfigurationFile获得): LoadConfiguration默认会加载没有命名的container,可以通过传递特 阅读全文
posted @ 2012-08-10 10:55 junchu25 阅读(12720) 评论(0) 推荐(1) 编辑
摘要:Development Storage始终启动不了,发现默认DSInit初始化失败。于是手动执行DSInit + 命令参数,但是出现如下错误:Failed to create database ‘DevelopmentStorageDb20090919′ : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the insta 阅读全文
posted @ 2012-08-10 10:50 junchu25 阅读(322) 评论(0) 推荐(0) 编辑
摘要:假设你的XAML上有一个控件它的属性和其它控件的某个属性相同名字,比如BorderBrush。现在我要将控件的属性BorderBrush名字改成其它名字,点击重构。你会发现所有XAML上名为BorderBrush的属性都比修改为新的名字,而不是只重构了被修改控件。 阅读全文
posted @ 2012-08-10 10:47 junchu25 阅读(118) 评论(0) 推荐(0) 编辑
摘要:上周四产品上线一切运行正常,做了一点小改动后周四晚上发布,周五大量用户反馈在访问页面时出现长时间等待响应。将4台Web前端的服务器重启,缓存服务器2台重启,问题依旧。由于是生产环境,只能上去查看IIS、Windows日志,没有记录任何异常。于是将版本更新回周四凌晨发布版本,运行正常。据版本跟踪只修改... 阅读全文
posted @ 2012-08-10 10:44 junchu25 阅读(1014) 评论(3) 推荐(3) 编辑
摘要:在System.Web.Compilation下默认提供了三个常用的ExpressionBuilder,比如在UI上快速访问AppSettings可以这么写:1 <%= ConfigurationManager.AppSettings["IsDebug"] %>2 <%$ appSettings:IsDebug %>%$ appSettings:IsDebug %>实际上调用了AppSettingsExpressionBuilder,这一层的转换到调用由ASP.NET页面的动态编译器负责(其实到真正动态执行某个页面时所加载的类型并不是我们编写代 阅读全文
posted @ 2012-08-10 10:41 junchu25 阅读(493) 评论(0) 推荐(0) 编辑
摘要:新安装了Windows SDK 7.1,在设置Microsoft Helper Viewer的location时选错了路径,于是选择卸载了Helper Viewer。安装运行WCU\Helper下的HelpSetup_x64(x86).exe,提示必须在安装完成Visual Studio 2010后才可以运行。MSDN Visual Studio Forms里有人提到需要重新再次安装、修复Visual Studio或者临时删除一个已经安装的功能就可以进入到安装Helper Viewer的界面。其实还有一个最快捷的方法就是首先启动Microsoft Help Library Agent(点击任何 阅读全文
posted @ 2012-08-10 10:30 junchu25 阅读(720) 评论(0) 推荐(0) 编辑
摘要:决定减少使用WTL用Qt,想要在Visual Studio下使用Qt需要先下载Qt的Windows SDK和Qt的Visual Studio AddIn,可以去官网下载。之后分别安装SDK和AddIn。由于Qt默认使用了mingw编译,所以需要重新编译。打开Visual Studio Command Prompt (2010),cd到Qt安装目录的qt文件夹,例如:E:cd E:\Coding\Qt\2010.05\qt再次输入configure -platform win32-msvc2010选择O和Y开始等待配置编译环境,整个过程大概需要10分钟左右,之后输入nmake开始编译(编译时间较 阅读全文
posted @ 2012-08-10 10:23 junchu25 阅读(2152) 评论(0) 推荐(0) 编辑
摘要:在.NET Framework 4.0以上版本中Monitor的Enter函数新增加了一个重载版本,导致原先Castle.DynamicProxy中的LockBlockExpression在Emit时获取Enter函数从出现歧义(最新版本Castle已经解决了该问题,并且在2.5.2.0版本中DynamicProxy被合并到Castle.Core.dll中)。代码如下:gen.Emit(OpCodes.Call, typeof(Monitor).GetMethod(“Enter”));如果你手头上有Castle.DynamicProxy的源代码,可以将它修改如下:gen.Emit(OpCode 阅读全文
posted @ 2012-08-10 10:16 junchu25 阅读(303) 评论(0) 推荐(0) 编辑
摘要:IFilter接口定义了Windows平台扫描文件文本的操作,不同的IFilter实现存储在注册表中。通过以下三个步骤获取:1、注册表HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{文件扩展名}\PersistentHandler\下存储了文件扩展名持久化处理器,获取它的C... 阅读全文
posted @ 2012-08-10 10:11 junchu25 阅读(1671) 评论(0) 推荐(0) 编辑
摘要:在做手写板应用中,往往会将用户的连续笔迹下的图形转换为相应的实际输入大小的文字。比如FontSize为12那么实际的宽度和高度又是多少?你可以创建一个TextBlock并设置它的FontSize,最后调用它的Measure函数获得Size:1 TextBlock tb = new TextBlock();2 tb.Text = “a”;3 tb.FontSize = 12d;4 5 tb.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));6 7 Size fontSize = new Size(tb.Actu 阅读全文
posted @ 2012-08-10 10:07 junchu25 阅读(507) 评论(1) 推荐(1) 编辑
摘要:前段时间用户反馈我们的一个Active-X控件在对WPS文档进行文本域操作时无法完全替换值,但是在WORD中不存在该问题。通常来说WPS的许多接口都和WORD相同,DISPID也几乎一致(WPS Document的Application的DISPID和WORD不同,一个是0x000003e8而另一个... 阅读全文
posted @ 2012-08-10 02:19 junchu25 阅读(994) 评论(0) 推荐(0) 编辑
摘要:IPersistFile的Save函数可以保存当前文件,如果在WORD2003中打开一个WORD2007格式的文件,并调用Save函数,你会发现原先的2007格式丢失,当前文档成为了97-03格式。由于后缀名依然为.docx,导致WORD2007打开文档时出错。如果你将出错文档的扩展名修改为.doc... 阅读全文
posted @ 2012-08-10 02:17 junchu25 阅读(898) 评论(0) 推荐(0) 编辑
摘要:迁移源代码服务器,于是在一台装有Windows Server 2008的机器上安装TFS 2010。在配置到准备安装服务时出错,日志内容提示由于防火墙原因端口未开放,查看日志则是在配置应用程序池的时候抛出了0×80005000的COMException,调用堆栈显示在绑定IIS的目录服务出错:System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)System.DirectoryServices.DirectoryEntry.Bind()System.DirectoryServices.DirectoryEnt 阅读全文
posted @ 2012-08-10 02:15 junchu25 阅读(467) 评论(0) 推荐(0) 编辑
摘要:由于Microsoft Network Monitor是基于硬件层面监控底层的网卡数据,所以对于本地的连接(127.0.0.1)并不经过网卡它无法capture。解决方法是为本地连接的IP加一条到网关的路由,这样连本机的IP会先到网关,再由网关转发数据到本机。假设当前IP=192.168.40.104、网关=192.168.40.254,示例如下:添加路由命令:route add [destination] mask [netmask] [gateway]route add 192.168.40.104 mask 255.255.255.255 192.168.40.254删除路由命令:rou 阅读全文
posted @ 2012-08-10 02:10 junchu25 阅读(328) 评论(0) 推荐(0) 编辑
摘要:1、Backup Plan Verfications的错误是由于TFS的DB服务帐号和访问Network Backup Path的帐号不同。2、Grant Backup Plan Permissions提示:could not connect to database。需要在服务里查看Visual Studio Team Foundation Background Job Agent是否正常启动。 阅读全文
posted @ 2012-08-10 02:08 junchu25 阅读(254) 评论(0) 推荐(0) 编辑
摘要:1、选中项目、属性视图。2、Always Start When Debugging = false。 阅读全文
posted @ 2012-08-10 02:07 junchu25 阅读(328) 评论(0) 推荐(0) 编辑
摘要:Windows Server 2012直接添加Windows Server 2008 R2服务器,如果目标机器在WORKGROUPS会提示kerberos authentication error、kerberost target resolution error。通过下列操作可以解决该问题:1、打开目标机器powershell,输入并运行winrm s winrm/config/client '@{TrustedHosts="ComputerName"}',来源机器执行相同操作信任目标机器。2、目标机器运行winrm quickconfig。3、Serve 阅读全文
posted @ 2012-08-10 02:06 junchu25 阅读(290) 评论(0) 推荐(0) 编辑
摘要:$()是sqlcmd的关键字,它相当于一个变量替换。比如$(variable),通过sqlcmd声明:/v variable=Hello,world,则在sql脚本中定义$(variable)的地方都被替换为Hello,world。假设generate schema and data时部分数据会包含HTML内容,碰巧使用jquery的$语法,执行sqlcmd时会由于关键字问题出错。解决方法是定义一个变量,该变量的值为'$'。看一个示例:sqlcmd命令行sqlcmd -s MSSQLSERVER2012 -u sa -p 123456 /v variable=$ -i &quo 阅读全文
posted @ 2012-08-10 02:05 junchu25 阅读(180) 评论(0) 推荐(0) 编辑
摘要:个人操作系统环境Windows Server 2008 R2 SP1。1、JDK、Android SDK安装目录不要包含空格、中文字符。2、System variables示例如下:[NEW]CLASS_PATH =.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;[NEW]JAVA_HOME =D:\Coding\Java\jdk1.7.0_03[UPDATE]Path = ;%JAVA_HOME%\bin3、User variables添加示例如下:[UPDATE]Path = ;D:\Coding\And 阅读全文
posted @ 2012-08-10 02:03 junchu25 阅读(1966) 评论(0) 推荐(0) 编辑
摘要:这两天由于源代码管理服务器的当机,准备将源服务器配置数据库迁移至新服务器。下面是TFS2010物理迁移的一些心得:1、尽可能将新服务器的计算机名称和源服务器相同。2、配置完成后,删除配置数据库,并附加同名的源数据库是无法成功使用。在访问tfs的web站点时出错。3、附加源配置数据后,需要通过命令重新... 阅读全文
posted @ 2012-08-10 02:01 junchu25 阅读(612) 评论(0) 推荐(0) 编辑
摘要:在将TFS2010进行物理迁移后最麻烦的就是workspace的恢复。由于workspace直接关联了用户客户端的配置,如果workspace无法加载用户就需要重新创建它,并重新映射本地目录,同时源workspace的owner操作将被全部丢弃。在安装TFS2010时,如果使用windows帐户,在进行物理迁移后是无法直接将group membership同步的。不同物理机器产生的ObjectSID不同,致使在不同的物理机使用相同的计算机名和用户名也无法关联起来。可以通过观察任意Collection的ADObjects、ADObjectMemberships两张表。想要将这些帐户重新关联wor 阅读全文
posted @ 2012-08-10 02:00 junchu25 阅读(802) 评论(0) 推荐(0) 编辑
摘要:较新的Windows SDK中提供了一种非关系型嵌入式数据库引擎ESENT(Extensible Storage Engine),它适用于那些需要高性能、较小存储空间支出的应用。ESENT已应用于AD、Windows Desktop Search、Windows Live Mail多个微软产品中。它有以下基本特点:1、事务支持、延迟提交、健壮的恢复、备份。2、记录级的锁。3、高并发的数据库访问。4、灵活的元数据定义(表、列、索引)。5、支持整形、浮点型、字符型、二进制列的索引。6、自定义列最大支持2GB、数据库最大支持16TB。如果使用natvie C++,只需要includeesent.h, 阅读全文
posted @ 2012-08-10 01:58 junchu25 阅读(896) 评论(1) 推荐(0) 编辑
摘要:部分生产环境下客户反映基于ASP.NET MVC 1.0开发的应用程序第一次访问需要10 - 16sec不等。起初怀疑是客户应用程序的问题,但对方使用一个新建的ASP.NET MVC应用程序仍然存在这个问题。于是建议对方升级到ASP.NET MVC 3.0,但问题依旧。于是用WinDbg跟踪,看到c... 阅读全文
posted @ 2012-08-10 01:57 junchu25 阅读(378) 评论(0) 推荐(0) 编辑
摘要:前天迁移TFS2010的虚拟机,重新映射了数据库服务器后没有发现任何问题。但是今早访问对应Web站点,点击任何一个工作项都提示:error HRESULT E_FAIL has been returned from a call to a COM component。但通过Visual Studio依然可以操作任何工作项。在MSDN的一篇名为Creating a new server from an old one: Beware of the InstanceId找到了解决方案:1、停止IIS。2、在cmd窗口中cd TFS2010 tools的安装目录,例如:C:\Program File 阅读全文
posted @ 2012-08-10 01:54 junchu25 阅读(1676) 评论(0) 推荐(0) 编辑
摘要:通常记录站点的访问日志可以通过一个HttpModule完成,但IIS本身就已经记录了相对详细的日志,完全可以通过解析IIS日志导入到第三方存储。相比自定义HttpModule在处理记录日志时采取的各种优化方式(并发写入、队列存储),直接采集IIS日志更便捷。IIS日志最大的缺点就是cs-username无法写入自定义值(使用Windows身份认证除外),导致没有用户标识数据的可用性降低。cs-username和许多日志字段都是由HttpRequest的HTTP-HEADER存放,但你已无法修改它。IIS7以上版本微软提供了一个Advanced Logging for IIS组件,通过它用户可以 阅读全文
posted @ 2012-08-10 01:53 junchu25 阅读(1768) 评论(0) 推荐(0) 编辑
摘要:调用IIS管理组件时编写了下面一段代码,调用函数时提示错误:Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of ... 阅读全文
posted @ 2012-08-10 01:47 junchu25 阅读(11339) 评论(3) 推荐(0) 编辑
摘要:TFS的workspace在不公开情况下,每位开发人员都是独立的。workspace更换或人员离职发现未签入的情况则无法通过Team Explorer完成撤销签出。所幸可以通过Visual Studio自带的TF.exe以命令行方式解决该问题。1、cmd -> cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE2、tf workspaces /server:[server] /owner:[account],查看用户对应的workspaces。3、tf status /server:[server] /wo 阅读全文
posted @ 2012-08-10 01:42 junchu25 阅读(1003) 评论(0) 推荐(0) 编辑
摘要:iso文件可以用工具直接修改baseline.dat,[gencomp7788]下InstallOnLHS、InstallOnWin7Server的值修改为0。在线安装,需要先用命令行抽取vm_web2.exe /x,再修改,并执行setup.exe /web。安装完成,用Visual Studio启动Windows Phone Emulator提示“connection failed because of invalid command-line arguments”。于是到XDE安装目录(C:\Program Files (x86)\Microsoft XDE\1.0)尝试用命令行运行xd 阅读全文
posted @ 2012-08-10 01:40 junchu25 阅读(1292) 评论(0) 推荐(0) 编辑
摘要:多个解决方案基于TFS2010 Build,其中有好几个Silverlight项目出错,提示:Silverlight 4 SDK is not installed。查看日志发现MSBuild的路径来源于x64,但Silverlight并不支持x64。在Build Definition Process的Configurations to Build中默认选择Any CPU修改为x86。 阅读全文
posted @ 2012-08-10 01:38 junchu25 阅读(252) 评论(0) 推荐(0) 编辑
摘要:比如目录A下目录B已存在分支B_1,现在要对目录A进行branch,TFS会提示:you must specify B_1 as the source of the operation。要解除目录B和分支B_1的关系,要将两者都转换为Folder,merge是解决不了问题的。选中要转换的目录,Visual Studio顶部菜单 -> File -> Source Control -> Branching & Merging -> Convert to Folder。需要注意的是目录B和目录B_1都必须执行该操作,只是将B_1转换是无法解除的。 阅读全文
posted @ 2012-08-10 01:37 junchu25 阅读(709) 评论(0) 推荐(0) 编辑
摘要:假设有多个ASP.NET MVC 应用解决方案,基于Area部署同一个站点。多个站点需要以一致的方式进行布局切换,不同Area映射View的方式不同,它们都以{AreaName}\{Views}的格式存放。相比这种访问方式,将多个Area关联的View更新到一个固定目录更便于管理,比如:App_Th... 阅读全文
posted @ 2012-08-10 01:25 junchu25 阅读(1913) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示