【转载】App.config/Web.config 中特殊字符的处理

写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字符串中的特殊字符造成的!然后网上搜了一下,找到了这篇文章:

http://www.cnblogs.com/fordwayne/p/3200470.html

 

我们知道在应用程序中嵌入连接字符串可能导致安全漏洞和维护问题。使用 Ildasm.exe(MSIL 反汇编程序) 工具可以查看编译到应用程序源代码中的未加密连接字符串。此外,如果连接字符串发生更改,则必须重新编译应用程序。因此,强烈建议将连接字符串存储在应用程序配置文件中。

最近在学习SQL Server时遇到连接字符串包含特殊字符出现编译错误的问题。

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration><startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup><connectionStrings><add name="DBconnStr" connectionString="Data Source=.;Initial Catalog=MyTest;User ID=sa;PassWord=123&456"/></connectionStrings>
</configuration>

  

 

由于数据库连接的密码中含有特殊字符"&",编译时出现如下如下错误信息:

显然编译器不认识"&456",怎么解决呢,总不能更换密码吧?

事实上App.config是xml文件,在xml文件中特殊字符要进行HTML转义。

HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,就要用到HTML转义字符串(Escape Sequence)了

 


HTML特殊转义字符列表

最常用的字符实体

显示

说明

实体名称

实体编号

 

空格

&nbsp;

&#160;

<

小于

&lt;

&#60;

>

大于

&gt;

&#62;

&

&符号

&amp;

&#38;

"

双引号

&quot;

&#34;

©

版权

&copy;

&#169;

®

已注册商标

&reg;

&#174;

商标(美国)

&#8482;

×

乘号

&times;

&#215;

÷

除号

&divide;

&#247;

所以只要把"&"进行转义就可以了,将PassWord改为

PassWord=123&amp;456"

成功通过编译。

转载于:https://www.cnblogs.com/iguxiaobei/p/3442052.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 8 C++/CX字符串

在C/CX里面是使用Platform::String类来表示字符串的类型&#xff0c;在windows运行时的接口和方法中&#xff0c;需要使用Platform::String来作为字符串参数的传递。如果需要使用标准C的字符串类型如wstring或者string的时候&#xff0c;可以将Platform::String与标准的C的字符…

C++远航之封装篇——类外定义和::

1、类内定义是把函数的具体实现写在类内部&#xff0c;默认是inline函数。 2、类外定义包含两种情况&#xff1a; &#xff08;1&#xff09;同文件类外定义 &#xff08;2&#xff09;不同文件类外定义

pipeline代码自动生成

如图所示&#xff0c;安装完插件后&#xff0c;Sample Step里就有相应的选项&#xff0c;选择某个选项后&#xff0c;点击Generate Pipeline Script按钮&#xff0c;就可以自动生成代码片段&#xff0c;然后放入pipeline流水线里就可以了 pipeline使用的是groovy脚本&#xff0…

一个简单的基于socket的通讯处理程序

2019独角兽企业重金招聘Python工程师标准>>> 这几天看书看得java网络编程&#xff0c;看到一个不错的&#xff0c;适合新手的&#xff0c;部分代码借鉴书上的&#xff0c;可能有地方还不是很成熟&#xff0c;不过可以借鉴一下&#xff0c;分为客户端和服务端&#x…

OncePerRequestFilter的作用

在Spring中&#xff0c;filter默认继承OncePerRequestFilter&#xff0c; OncePerRequestFilter源代码如下&#xff1a; /** Copyright 2002-2008 the original author or authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not…

C++远航之封装篇——构造函数

1、为什么需要构造函数&#xff1f; 见博客http://blog.csdn.net/zhhymh/article/details/6236317 2、c中的内存分区 &#xff08;1&#xff09;栈区 int x0&#xff1b;int *pNULL&#xff1b; &#xff08;2&#xff09;堆区 int *p new int[20]; &#xff08;3&#xff0…

Vim基本操作总结

本文是学习Vim时的笔记总结&#xff0c;以便在遗忘时方便查找相关命令&#xff0c;原学习视频链接&#xff1a;https://www.imooc.com/learn/1129 1.1 Vim的4种模式 1.normal模式&#xff1a;使用i/a/o以及I/A/O进入插入模式&#xff0c;其中各快捷键的含义如下&#xff1a; i …

ASP.NET MVC3 中的AJAX

示例演示一个链接&#xff0c;点击后利用Ajax更新特定id的标签中的内容 首先在_Layout.cshtml中加入js <script src"Url.Content("~/Scripts/jquery-1.5.1.min.js")" type"text/javascript"></script> <script src"Url.Cont…

如何判断注册用户是否已经存在(membership验证)

如何判断注册用户是否已经存在&#xff08;membership验证&#xff09; MembershipCreateStatus iStatus; Membership.CreateUser(username, password, email, question, answer, true, out iStatus); ErrirMsgText.Visible true; switch (iStatus) …

安装win_server_2012的方法

1、从微软官网下载评估版。 2、查看你的当前版本。以管理员身份运行cmd&#xff0c;然后输入“DISM /online /Get-CurrentEdition”。如果是评估版&#xff0c;例如Standard&#xff0c;把“ServerStandardEval”中的Eval这四个字母去掉&#xff0c;就是你的当前版本。下图表明…

Delphi控件的“拿来主义”

"一个优秀的Delphi程序员&#xff0c;不仅要会写控件&#xff0c;还要会使用控件。" 我还是一个半瓢水的程序员&#xff0c;因此目前为止我所能努力达到的境界是: 一个半瓢水的程序员&#xff0c;管他会不会写控件&#xff0c;只要能拿来改就可以了。 使用过Delphi的…

WRF参数配置(PartV)

&bc_control spec_bdy_width 此参数指定用于边界过渡的格点总行数&#xff0c;默认值为5。此参数只用于真实大气方案。参数的大小至少为spec_zone 和 relax_zone的和。 spec_zone 指定区域(specified zone)的格点数&#xff0c;默认值为 1。指定边条件时起作用。 relax…

DHCP中继处理办法

这两天一直在客户这边测试DHCP&#xff0c;由于客户的网络是现成的server 2008 是后来加上去的&#xff0c;所以没有多的IP地址用于测试&#xff0c;只好拿客户的楼层网段来测试&#xff0c;由于需要跨VLAN实行DHCP地址分配&#xff0c;所有需要做DHCP中继。废话不多说&#xf…

富士 FinePix F401

功能特点 F401尽管外型娇小&#xff0c;但功能并不弱&#xff0c;机身内搭载Super CCD III&#xff0c;实际CCD画素210万&#xff0c;纪录画素可达400万&#xff08;23041728像素&#xff09;&#xff0c;由于Super CCD III大幅改善噪声&#xff0c;有效ISO感光度提升到1600度&…

C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数

1、默认构造函数 没有参数&#xff1b;若有参数&#xff0c;则一定全部都有默认的参数值。 2、初始化列表 &#xff08;1&#xff09;概念 &#xff08;2&#xff09;特性 建议用初始化列表来初始化数据成员。初始化列表先于构造函数执行&#xff1b;初始化列表只能用于构造函…

性能测试流程-各阶段的工作

1 性能测试流程1.1 性能测试计划阶段测试计划阶段主要工作如下&#xff1a;1、明确测试对象2、定义测试目标3、定义测试通过的标准4、规划测试进度5、规划测试参与人员&#xff08;需求、开发、测试、运维和配置&#xff09;6、申请测试资源7、风险控制1.2 性…

恢复IE8自带的源代码查看器

各种知名不知名的文本编辑软件安完了之后&#xff0c;IE8的默认源代码编辑器也被改了很多次其实IE8默认已经不使用记事本了&#xff0c;带有语法高亮和行号功能的查看器很好用&#xff0c;堪比FF的查看器了。而且占用资源很少&#xff0c;跑起来很快&#xff0c;所以&#xff0…

C++远航之封装篇——析构函数

一、为什么需要析构函数&#xff1f; 见博客&#xff1a;http://blog.csdn.net/zhhymh/article/details/6239832 二、析构函数的理解 1、格式 2、必要性 释放资源。 3、什么时候调用&#xff1f; delet p时会调用析构函数&#xff1b;程序返回时&#xff0c;也会调用析构函数…

生成的数据库脚本没有注释?

1,选择Database->Generate Database 选中Generate name in empty comment就可以了转载于:https://www.cnblogs.com/hongjiumu/archive/2012/08/02/2620379.html

M.GetSum(); Myclass::GetSum(); // 调用类的静态成员函数。转载于:https://www.cnblogs.com/sunbines/p/11227051.html