工作中遇到的问题收集--.NET
一.拒绝访问 temp 目录。用来运行 XmlSerializer 的标识“IIS APPPOOL\MZJYMIS”没有访问 temp
目录的足够权限。CodeDom 将使用进程正在使用的用户帐户进行编译,这样,如果用户没有访问系统 temp 目录的权限,将无法进行编译。使用
Path.GetTempPath() API 找到 temp 目录的位置。
解决方案:给windows目录下的temp目录的Users增加修改权限.步骤:
1.去掉只读属性
2.分配修改权限
二.使用NHibernate问题:代码运行正确,但相应的值没有保存到数据表中
解决方案:1. 项目是用net Framework2.0写的,用的win7系统,创建IIS站点时,应用程序池默认是4.0集成的(问题就出在这)
2.将应用程序池改成2.0 经典,问题成功解决.
三.使用Spring.Net问题:Spring.Objects.Factory.ObjectDefinitionStoreException: InputStream is null from
Resource = [assembly [Dao, Version=1.0.0.0, Culture=neutral,
问题原因:1.文件所在的程序集/命名空间/文件路径不正确(assembly定义的格式应该是:
assembly:<assemblyName>/<namespace>/<resourceName>)
2.xml文件属性的 生成操作 设置为 嵌入的资源
四.win8 IIS8配置
1.错误描述
2.解决方法:进安装配置 勾选 3.5, 4.0 安装完成Ok
五.System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 (转自:http://blog.csdn.net/kimizhou_blog/article/details/22785571)
解决方案:
调试后发现, connection.Open();以后报错,System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏,网上搜了很多都没有作用。
然后我发现 连接本地数据库是好的,连接远程数据库是报错了,但是在sql server Management中是好的
然后在VS的服务资源管理器中找到了问题,发现VS2010 ,只要一连接远程数据库就立马关闭掉了,VS2008则是好的,最后发现在关掉的瞬间,会弹出一个提示,经过几次反复截图,终于找到了关键:
provider SSLProvider error:0
在网上一搜,豁然开朗,解决方法如下:
1:使用OLEDB ,不再使用SQLClient可以解决;
2:这个最方便,在开始运行栏中 输入 CMD,然后以管理员身份运行:输入:netsh winsock reset 后,系统提示需要重启电脑,重启后解决!
最后补充一下,这个命令的意思:
netsh winsock reset命令,作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。 netsh是一个能够通过命令行操作几乎所有网络相关设置的接口,比如设置IP,DNS,网卡,无线网络等,Winsock是系统内部目 录,Winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口,reset是对 Winsock的重置操作。当执行完winsock的命令重启计算机后,需要重新配置IP