是否可以组合app.config文件和web.config文件.我是自托管服务并在IIS中托管它,发现自己必须编辑两个不同的文件?
我的方法超过700多行.在该方法的开头,声明了大约50个局部变量.我决定将局部变量取出并将它们作为属性放入一个单独的类中,这样我就可以在方法中声明该类并在其中使用属性.这是完全正常还是其他数据类型适合这里,如结构?此方法是在经典ASP时代编写的.
我收到以下错误,但不知道如何解决:
System.Xml.XmlException:引用未声明的实体“AMP”。88 号线,68 号位置。
我在 xml 中找到了这一部分:
<AddressData city="TYNE & WEAR">
<addressLine>123 Orange Rd.</addressLine>
<addressLine></addressLine>
</AddressData>
Run Code Online (Sandbox Code Playgroud)
xml 实际上是动态创建的,但是当我逐步查看它时,我注意到它以 Tyne & Wear 的形式返回,但它是大写的,我不知道为什么。有一个名为 XmlEncode 的实用程序路由可以执行以下操作,但不确定它是否会涵盖上述场景。
s.Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("'", "'").Replace("""", """)
Run Code Online (Sandbox Code Playgroud) 我有以下xml片段:
<CreditCard
name="John Doe"
ccnum="1234123412341234"
ccv="239"
exp="03/13">
</CreditCard>
<CreditCard>
<name>John Doe</name>
<ccnum>1234123412341234</ccnum>
<ccv>239</ccv>
<exp>03/13</exp>
</CreditCard>
Run Code Online (Sandbox Code Playgroud)
上面的代码片段只是xml可以存储信用卡数据的众多方式中的两种,所以这是我的问题,我需要扫描xml字符串并找到我已经完成的16位数字,但之后我需要确定安全代码的位置,在这种情况下我将假设的ccv将是CreditCard元素中的3-4位数字或类似的东西然后加密.我的初步想法是找到16位数字然后返回,直到我找到第一个开始元素并假设这是信用卡数据的开始然后前进并搜索3-4位数字,但我是不确定如何去做?
让我假设我坚持使用正则表达式:
首先我找到13 - 16位数字,所以在第一个例子中,我发现:
1234123412341234,现在我想在那里扫描一个3-4位数字,这就是我被困住的地方.
码:
//This encrypts 13-16 digit numbers, now I just need to encrypt the 3-4 digit security
//code
foreach (Match cc in Regex.Matches(xml, @"\b\d{13,16}\b"))
{
Console.WriteLine(xml);
Console.WriteLine(cc);
xml = xml.Replace(cc.Value, "ENCRYPTED");
Console.WriteLine(xml);
}
Run Code Online (Sandbox Code Playgroud) 我有以下按钮单击执行的方法:
private void CopyDirectoriesAndFiles(string source, string target, string[] excludedFolders)
{
foreach (string dir in Directory.GetDirectories(source, "*", System.IO.SearchOption.AllDirectories))
if (!excludedFolders.Contains(dir))
Directory.CreateDirectory(target + dir.Substring(source.Length));
foreach (string file_name in Directory.GetFiles(source, "*.*", System.IO.SearchOption.AllDirectories))
if (!File.Exists(Path.Combine(target + file_name.Substring(source.Length))))
File.Copy(file_name, target + file_name.Substring(source.Length));
}
Run Code Online (Sandbox Code Playgroud)
单击按钮有一些其他方法,但它们运行时间不会很长,但即便如此,我如何显示和更新每个运行的进度条.我放了一个文本框,但只有在完成所有内容后才会写入文本框.我的按钮顺序可能如下所示:
InitializeStuff();
CopyFiles();
CleanUp();
Run Code Online (Sandbox Code Playgroud)
进度条不是绝对必要的,虽然很好.如果我可以在每次方法完成而不是在最后完成时更新文本框,那将是很棒的.
可能重复:
在消息框打开时关闭wpf
我目前有这样的代码,但问题是,即使我在MessageBox提供者中显示错误NLog,我想关闭应用程序,以便用户可以解决问题,但是应用程序在消息中单击"确定"后继续框.
private void Load(string fileName)
{
try
{
var environments = GetEnvironments(fileName);
}
catch (FileNotFoundException ex)
{
logger.Error(ex.StackTrace);
}
catch (Exception ex)
{
logger.Error(ex.StackTrace);
}
}
Run Code Online (Sandbox Code Playgroud) 我没有太多的t-sql经验,但我想出了这个函数来填充传入的nvarchar参数左边的0.填充到左边的0的数量是基于传入的参数的原始长度我将解释每个变量,然后显示我的功能.我测试了它确实有效,但我很好奇是否有任何重构或改进我可以做到.
@number是传入要填充的函数的数字
@result是返回的填充数字 - 数字的数据类型实际上是一个nvarchar,即使我称之为数字.
@maxLength是所有数字必须符合的最大长度.这总是10.
@actualLength是传递给函数的数字的原始长度
@numOfZerosToPad是@maxLength - @actualLength
作为旁注,我看到有人做SELECT @variable = 1和SET @variable = 1.这有什么不同或更多的是品味问题?
这是功能:
CREATE FUNCTION f_PadZerosToNumber
(
@number nvarchar(10)
)
RETURNS nvarchar(10)
AS
BEGIN
DECLARE @Result nvarchar(10)
DECLARE @maxLength int
SET @maxLength = 10
DECLARE @actualLength int
SET @actualLength = LEN(@number)
DECLARE @numOfZerosToPad int
SET @numOfZerosToPad = @maxLength - @actualLength
SET @Result = REPLICATE('0',@numOfZerosToPad) + @number
RETURN @Result
END
GO
Run Code Online (Sandbox Code Playgroud) 我有一个标题为id的h2元素,我有以下脚本:
<script type="text/javascript">
$(document).ready(function(){
$("#title").css("background-color","red");
)};
</script>
Run Code Online (Sandbox Code Playgroud)
背景色虽然没有改变,但我无法弄清楚为什么?
<html>
<head>
<title>Table Sorter</title>
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.tablsorter.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#title").css("background-color","red");
)};
</script>
</head>
<body>
<h2 id="title">Table Sorter</h2>
</body>
</html>
<script type="text/javascript">
$(document).ready(function()
{
$("#title").css("background-color","red");
$("#myTable").tablesorter();
}
);
</script>
Run Code Online (Sandbox Code Playgroud) 我创建一个随机数,然后检查它是否存在于数据库表中.如果确实如此,我会生成另一个并再次检查,以下工作会是什么?
public int GenerateNumber()
{
Random r = new Random();
int num = r.Next(1000);
//Psuedo-code
if(num is in table)
GenerateNumber();
return num;
}
Run Code Online (Sandbox Code Playgroud)
似乎基于下面的答案,这里应该避免递归,我应该自动增加数字,所以一个好的选择是在1处开始自动增量,在0处填充,直到8个字符长或从10,000,000.
此外,如果数据类型必须是varchar(8),该怎么办?如何自动递增数字,但是将其存储在varchar(8)中?