分类目录归档:杂记

windows WMI错误0x80041017–使用WBEMTest的无效查询


摘要:
下文将分享如何处理WBEMTest的无效查询的方法,如下所示:

在windows的“开始”菜单中,
单击“运行”,
然后输入”WBEMTest”。
出现WBEMTest.exe对话框。
单击”连接”-按钮,输入 root\cimv2 –点击 连接
–依次点击“查询”–输入”select * from Win32_Service” –>点击应用
出现“无效查询”,编号为”0x80041017″,
此时我们需要下面的批处理修复此异常信息,
处理方法:
将下文保存为bat后缀名的批处理文件,然后右键此文本,采用管理员权限运行,重启电脑

@echo off
sc config winmgmt start= disabled
net stop winmgmt /y
%systemdrive%
cd %windir%\system32\wbem
for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s
wmiprvse /regserver
sc config winmgmt start= auto
net start winmgmt
for /f %%s in (‘dir /s /b *.mof *.mfl’) do mofcomp %%s
cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R
 

windows_wmi_search_1

windows_wmi_search_1


windows_wmi_search_2

windows_wmi_search_2

会话共享解决方案—(负载均衡)


摘要:
下文讲述在c#开发中,如何部署session,使其可以在不同的web服务器中共享,具体方法如下所示:

在使用Session对象的c# web程序中,我们需在页面上使用@page指令的EnableSessionState属性为True或Readonly,
并且在Web.config文件中正确设置了SessionState属性,页面才可以使用session。
c#中Sessions的状态保留方式,取决于web.config文件中sessionstate的配置属性,
该属性有四种可能的值:Off,Inproc,StateServer和SQlServer。
off:设置禁用会话。
Inproc是默认设置。该模式与之前的ASP会话状态相似。会话的状态存储在ASP.NET进程中。其优点是显而易见的:性能。进程中的数据访问自然比夸大的进程更快。但是,此方法的状态Session取决于ASP.NET进程。当IIS进程正常崩溃或重新启动时,进程中保存的状态将丢失。
为了克服Inproc模型的缺点,ASP.NET提供了两种维护会话状态进程外的方法。
ASP.NET首先提供了Windows服务:ASPState。服务启动后,ASP.NET应用程序可以将mode属性设置为“SateServer”,以使用此Windows服务提供的状态管理方法。
除了在web.config文件中将mode属性设置为StateServer之外,还必须设置运行StateServer的服务器的IP地址和端口号。
1,如果您在IIS所在的机器上运行StateServer,则IP地址为127.0.0.1,端口号通常为42424.配置如下:
mode=”StateServer”
stateConnectionString = “TCPIP = 127.0.0.1:42424”
2,找一台服务器作为会话服务器(如IP:10.15.162.188),在Windows启动它的ASP.NET State Service(默认端口号为42424),将启动类型改为自动;
3.修改Session Server注册表中HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters中的AllowRemoteConnection项的值。端口键控制ASP.NET状态服务的侦听端口;您需要重新启动ASP.NET状态服务生效;
4,每个服务器的web.config stateConnectionString指向这个服务器。
使用此模型,会话状态的存储将不依赖于IIS进程的失败或重新启动,并且会话状态将存储在StateServer进程的内存空间中。
另一个会话状态模式是SQL Server模式。该模式将会话的状态保存在SQL Server数据库中。在使用此模式之前,您必须至少拥有一台SQL Server服务器,并在服务器中创建所需的表和存储过程。 .NET SDK提供了两个脚本来简化此任务:InstallSqlState.sql和UnInstallSqlState.sql。这两个文件存储在以下路径中:
系统驱动器\WINNT \ Microsoft.NET \ Framework \ version \
要配置SQL Server服务器,可以从命令行运行由SQL Server提供的命令行工具osql.exe
 osql -s [server name] -u [user] -p [password]
  例如:
 osql -s (local) -u as -p “”-i InstallSqlState.sql
完成必要的数据库准备后,将web.config文件中sessionstate元素的mode属性更改为“sqlserver”并指定SQL连接字符串。
如下所示:
mode= “SQLServer”
sqlConnectionString =“data source = 127.0.0.1; userid = sa; password =sa; Trusted_Connection = yes”
使用SQL Server模式可以使Session的状态独立于IIS服务器。您还可以使用SQL Server群集使状态存储独立于单个SQL Server。这可以为应用提供很高的可靠性。

c# int、int16、int32、int64 四种类型之间的区别


摘要:
下文讲述c#开发中 int int16 int32 int64各数据类型之间的区别



一、int int16 int32 int64 存储数据最大值的区别

int同int32都是存储范围在 -2,147,483,648 ~ +2,147,483,647 之间的整型
int16 存储有符号位的short类型,数据范围为: -32768 ~ +32767
int64 存储类型为long型,数据的存储范围为: -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807
——————————————————-



二、int int16 int32 int64 对应C#中的相关类型

1. c#中 int类型是system.int32类型的别名,有符号的32位整数
2. short类型对应system.int16,是int16的别名,及int16同short具有相同的数据范围 ,有符号的16位整数
3. long 类型对应system.int64, 是int64的别名, 及long同int64具有相同的数据范围,有符号的64位整数


注意事项:
c#中将 int16 int32 int64都采用以下的别名方式放入编码开发中:
int16 别名 short
int32 别名 int
int64 别名 long