个人累计的一些开发工作上的小事情

5 篇文章 0 订阅
2 篇文章 0 订阅

一.远程到客户的电脑,出现黑屏现象

  解决办法: CTRL+ALT+END

二.用VS2012打开VS2010创建的项目,有些解决方案打不开,报错

例如我所打开的项目中,Web项目加载不进来,显示不兼容状态:

产生此错误的原因,我想大概是:

VS2010创建该项目时使用的时MVC2,但是VS2012中只能创建MVC3以上的项目,.config和.csproj文件中的System.Web.Mvc版本都是2.0.

我的项目解决方法

1.修改Web.config 文件ASP.NET MVC 的版本号,即:

System.Web.Mvc, Version=2.0.0.0 改成 System.Web.Mvc, Version=3.0.0.0

2.修改Web.config 文件bindingRedirect 元素的值,即:

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/> 改为

<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>

3.编辑Web项目的  项目名.csproj  这个文件找到ProjectTypeGuids标记, 

将{F85E285D-A4E0-4152-9332-AB1D724D3325}替换成

{E53F8FEA-EAE0-44A6-8774-FFD645390401}

注:安装VS2010时会要有SQLSERVER EXP版的功能选项,这个数据库版本与常规使用的MSSQLSERVER 不一样,所产生的实例名也会不一样。

详细流程参考:vs2013 打开vs2010 找不到此项目类型所基于的应用程序 MVC2 升级 MVC5 不能加载Web项目

三.ORACEL

64bit操作系统:要使用plsql就必须安装32bit客户端
 不依赖与oracel客户端连接oracel的办法:

使用Oracle.ManagedDataAccess.Client.dll,可通过VS自带工具NUGET搜索下载该集即可。

使用该方法连接数据库的连接字符串:

Data Source= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = myserver)

(SERVICE_NAME = orcl) ) );User ID=myname;Password=mypassword

四.Oracel

程序访问数据库错误:找不到请求的.Net Framework Data Provide.可能没有安装。

解决办法:

下载 ODAC112040Xcopy_32bit.zip

1.解压复制到指令文件夹(如:C:\ODAC)

2.打开CMD,cd到该文件夹下,运行 install.bat odp.net4 E:\OracleClient ODAC (ODAC名称可以随意,E:\OracleClient 为安装的路径)
3.如需卸载cd到安装路径: uninstall.bat odp.net4 D:\OracleClient

4.注:这只是安装了我需要的文件,压缩包里包括了很多其他组件,可根据需求安装。

详解见:https://jingyan.baidu.com/article/e4511cf336ce872b845eafd4.html
 

五.Jquery

     给未来元素绑定事件

对未来元素绑定,不能用bind。把元素绑在未来元素的父级上

1、可以用live代替,但是要注意jquery的版本,根据官方文档,从1.7开始就不推荐live和delegat了,1.9里就去掉live了。 

2、不支持live之后什么代替live呢,是on,用法如下所示:

//放在$(function(){})里才有效 

$(document).on("click", "#testDiv", function(){ 

//此处的$(this)指$( "#testDiv"),而非$(document) 

});

六.Jquery 

前端报错:

has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'x' is therefore not allowed access.

解决方法2钟

第一种:web.config里加入(如果在发布根目录没有这个文件可直接新建):

在web.config里的话加入以下代码:

<system.webServer>

<staticContent>

<mimeMap fileExtension=".otf" mimeType="application/octet-stream" />

//如果还有其他被限定的文件在加即可

</staticContent>

<httpProtocol>

<customHeaders>

<add name="Access-Control-Allow-Origin" value="*" />

<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS" />

<add name="Access-Control-Allow-Headers" value="origin,x-requested-with,content-type" />

<add name="Access-Control-Allow-Credentials" value="true" />

</customHeaders>

</httpProtocol>

</system.webServer>

第二种:在IIS对应的请求的站点下设置以下:

注:只要在web,config或者IIS里任意一方设置即可,参考链接:

IIS 如何设置多个Access-Control-Allow-Origin - 槑巭 - 博客园

https://www.douban.com/note/524034414/?type=like

七.开发环境下安装 .NET FRAMWORK 4.5.2

八. C# 根据链接重命名下载文件

 public void RenameDownLoadFie(string fileUrl, string fileName){
                    var filePath = fileUrl;
                    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(filePath);
                    request.Timeout = 60000;
                    System.Net.WebResponse response = request.GetResponse();
                    using (Stream stream = response.GetResponseStream())
                    {
                        Byte[] buffer = new Byte[response.ContentLength];
                        int offset = 0, actuallyRead = 0;
                        do
                        {
                            actuallyRead = stream.Read(buffer, offset, buffer.Length - offset);
                            offset += actuallyRead;
                        }
                        while (actuallyRead > 0);
                        stream.Close();
                        stream.Dispose();

                        Response.ContentType = "application/octet-stream";
                        Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));
                        Response.BinaryWrite(buffer);
                        Response.Flush();
                        Response.End();
                    }
}

九.写日志System.IO.File.AppendAllText报:“2019-10-21.log”正由另一进程使用,因此该进程无法访问此文件

 public static void WriteLog(Exception ex, string action)
        {
            System.Threading.ReaderWriterLockSlim LogWriteLock = new System.Threading.ReaderWriterLockSlim();
            try
            {
                LogWriteLock.EnterWriteLock();
                // 在出现未处理的错误时运行的代码
                StringBuilder _builder = new StringBuilder();
                _builder.Append("\r\n-------------  异常信息   ---------------------------------------------------------------");
                _builder.Append("\r\n发生时间:" + DateTime.Now.ToString());
                _builder.Append("\r\n发生异常接口:" + action);
                _builder.Append("\r\n异常信息:" + ex.Message);
                _builder.Append("\r\n错误源:" + ex.Source);
                _builder.Append("\r\n堆栈信息:" + ex.StackTrace);
                _builder.Append("\r\n-----------------------------------------------------------------------------------------\r\n");
                //日志物理路径
                DateTime date = DateTime.Now;
                string path = System.Web.HttpContext.Current.Server.MapPath("~/Log/LogisticeLog/");
                string month = date.ToString("yyyy-MM");
                if (!System.IO.Directory.Exists(path + month))
                    System.IO.Directory.CreateDirectory(path + month);
                string currentDate = date.ToString("yyyy-MM-dd");
                string savePath = path + month + "/" + currentDate + ".log";
                System.IO.File.AppendAllText(savePath, _builder.ToString(), System.Text.Encoding.Default);
            }
            catch (Exception exs)
            {
                throw exs;
            }
            finally
            {
                //退出写入模式,释放资源占用
                LogWriteLock.ExitWriteLock();
            }
        }

 十.小程序接口,使请求保持在一个会话里,小程序前端请求这样写:

十一. C# webservice接口请求报错:基础连接已关闭:连接被意外关闭

如果用工具SOAP请求能通,并且发现请求的Expect 为100-continue,那么这样解决:

ServicePointManager.Expect100Continue = false;

或者

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);

request.ServicePoint.Expect100Continue = false; // 取消100-continue

十二.DbContext 如何发现模型和数据库连接

官方介绍:连接字符串和模型-EF6 | Microsoft Docs

十三.MySql历史版本下载

MySQL :: Download MySQL Community Server (Archived Versions)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值