C#查询WMI获得系统安装ID、激活ID

其中 ID 为激活ID,OfflineInstallationId为安装ID

贴代码:

参考文档:http://cuzic.net/wmi-yard-0.10/WMI/OfficeSoftwareProtectionProduct.html

 

 

 

克隆LINQ to SQL对象实体

默认情况下,同一Linq查询都会收到对内存中同一对象的引用。

此时不论更改第几次的查询结果,都将映射到对象的引用。

此时,若需要对某个结果进行快照并做其他修改,则需要对此对象进行克隆。

本代码将利用MemoryStream对内存中的对象进行复制。

使用示例:

代码来源:LINQ to SQL tips and tricks #2

MVC:error CS0433: The type ‘ASP.global_asax’ exists in both ‘c:\xx\App_global.asax.DLL’

修改Global.asax文件中代码后,发布到虚拟空间,结果出现了以下错误:

呃……有点长,短一点描述:

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b3ffedfa\97fba66f\App_Web_login.cshtml.65793277.9tbdkipd.0.cs(36): error CS0433: The type ‘ASP.global_asax’ exists in both ‘c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b3ffedfa\97fba66f\assembly\dl3\ae2fef48\0529293c_ec8ed001\App_global.asax.DLL’ and ‘c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b3ffedfa\97fba66f\App_global.asax.4klzpbgv.dll’

关于解决方案,网上的大部分都是去删除temp这个临时文件夹内的指定文件,可是没有权限怎么办…嗯,创建一个页面,加入del代码,你会发现,没用,iis在占用这些文件。

以及:清理解决方案,然后重新上传

据说,这是一个Bug……

 

我是如何解决的?

 

刮:魂淡,就这么几行字你好意思发布(╯‵□′)╯︵┻━┻

在Asp.Net Mvc的Application_Error事件中,返回View

为了满足的我恶趣味,Asp.Net自带的错误页面已经满足不了我的需求了,我需要在发生错误时去显示自定义错误页,比如:

ThinkPHP的那个错误页面真是深得我心,就像这样:

20150513114421我把放在了Message下的Error页面,嗯……偷过来的:

20150513115019

然后,错误页面理所当然的变成了酱紫:

20150513115113

Message.Error控制器:

Message.Error视图代码:

 

嗯。。。Application_Error事件内代码:

页面是ThinkPHP的默认错误页

参考资料:Revisiting MVC Custom Error Handling

安装VS2015时 Can’t start SecondaryInstaller again after it failed 解决方案

VS2015支持了Android,IOS的开发,但是。。。

在VS2015中,并不是自带的,而是需要自己安装。

当你安装失败时,你会发现,你根本就找不到这个入口了。

这让我很抓狂,差点重装了VS2015;

庆幸的是,在微软论坛中找到了解决方案:

try..
1. unpack “\packages\SecondaryInstaller\cab1.cab” to any location
2. run “SecondaryInstaller.exe”

 

1.解压packages\SecondaryInstaller\cab1.cab

2.运行SecondaryInstaller.exe

secondary installer

忽然感觉,我就是个渣渣

附SecondaryInstaller包:

SecondaryInstaller.7z(383.1 KB, 59 次)

原文:https://connect.microsoft.com/VisualStudio/feedback/details/1029485/vs2015-cant-start-secondaryinstaller-again-after-it-failed

ShowDialog()弹出的窗体使用XtraMessageBox.Show弹出对话框后在窗体下面

经专人指导,将原来的代码:

修改为:

为什么我总会遇到这样奇葩的问题?20140417144540

特别感谢,,,,XXXX

聊天记录如下:
用ShowDialog()弹出窗体后,使用MessageBox.Show()显示提示,有没有遇到过对话框在窗体下面….
14:31:46
【员外】知心姐姐 2014/4/17 14:31:46
难道没有跟我一样这么悲剧的么╮(╯▽╰)╭
【土豪】danny_su
2014/4/17 14:32:12
你怎么悲剧了
【恶霸】CodeMonkey
2014/4/17 14:32:24
没出现过

【员外】知心姐姐 2014/4/17 14:32:27
上面

【员外】知心姐姐 2014/4/17 14:32:32
用ShowDialog()弹出窗体后,使用MessageBox.Show()显示提示,有没有遇到过对话框在窗体下面….

【员外】知心姐姐 2014/4/17 14:32:37
我再复制一份好了

【员外】知心姐姐 2014/4/17 14:32:55
难道要让我再做一个对话框窗体才能解决么- –
【员外】王小坏
2014/4/17 14:33:20
姐姐
【员外】王小坏
2014/4/17 14:33:31
show出来的窗口在最顶层啊
【恶霸】CodeMonkey
2014/4/17 14:33:34
XtraMessageBox 试试呢
【员外】王小坏
2014/4/17 14:33:41
你怎么把他搞到窗体下的?

【员外】知心姐姐 2014/4/17 14:33:44
恩,用的XtraMessageBox
【员外】王小坏
2014/4/17 14:33:45
求教导
14:33:49
【员外】知心姐姐 2014/4/17 14:33:49
没说清楚,

【员外】知心姐姐 2014/4/17 14:33:55
不是自带的

【员外】知心姐姐 2014/4/17 14:34:24
在下面….

14:35:54
【恶霸】CodeMonkey
2014/4/17 14:35:54
XtraMessageBox.Show(this, “”, “”);加个this 呢

【员外】知心姐姐 2014/4/17 14:36:16
恩,我试试

XenSystem一直提示无法连接远程服务器

截图就不上了,提示:-1:无法连接远程服务器

重启所在的服务器后恢复正常,但是总这样也不是办法,

重启IIS、回收应用程序池,错误依然,看起来不是IIS的问题

发生错误时内存占用90+%但CPU却保持在20%以下,最高占用的是SQLServer的进程,

尝试重启SQLServer服务,错误依然

重启IIS,恢复正常

 

可以判定,问题应该是出自SQLServer,至于是不是程序的问题暂且不谈,

重启SQLServer后内存依然持续增长,但重启服务器后则暂时不会只增不减,但过一会后占用内存则保持每秒1M-5M的速度增加

 

查看SQLServer设置后,发现最大内存占用为:2147483647MB

对此保持疑惑,因为没有人去配置SQLServer,查看其他服务器的 SQLServer配置,发现全都是一样,该项配置应该是默认值

暂且不管是不是默认值,将最大内侧占用改成:1500MB

监视了一会,发现内存占用基本上不再增加,保持在400MB

10分钟后再看增长到401MB

问题应该就是这项配置的问题,但是是什么引起的内存只增不减还不能确定,等段时间再看问题是不是还会重现

 

附SQLServer配置截图:

sql-1

sql-2

C#操作注册表干掉安全警告【是否只查看安全传送的网页内容】

安全警告【是否只查看安全传送的网页内容】

这SB一样的对话框,是自IE8开始出现的,虽然可以通过Internet选项修改为允许,但是如果用程序修改就无从下手了

Google了下【C# Change Internet Explorer settings】,运气很好,第一个就是,通过注册表可以修改

以下是原文:

Any idea how do I do the following using C#?

  1. Going to Tools -> Internet Options -> Security
  2. Select the Security tab
  3. Click the Custom Level button
  4. In the Miscellaneous section change Display mixed content to Enable

The “cheat” way to do this is to change the value

    1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0\1609
    2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1\1609
    3. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2\1609
    4. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1609
    5. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4\1609

Where 0-4 are Zone identifiers and the value is 0 to Allow, 1 to Prompt, and 3 to Block. Keep in mind that if your code does this on anyone’s machine but your own, you’re likely to find your code blocked as malware.

The “proper” way to do this is to use the APIs to create an IInternetZoneManager and callSetZoneActionPolicy to adjust the settings for URLACTION_HTML_MIXED_CONTENT in the zones you want to adjust.

很好,看起来这个对话框可以干掉了,只需要在程序运行时修改就可以了,但是要注意,一定要在WebBrowser控件初始化前改变,否则等下次生效吧!

什么时候写完代码,再更新C#操作注册表调整Internet选项~哈哈