小编sha*_*shi的帖子

C#将文件复制到另一个名称不同的位置

如果满足某些条件,我想将文件从一个目录复制到另一个目录而不删除原始文件.我还想将新文件的名称设置为特定值.

我正在使用C#并使用FileInfo类.虽然它确实有CopyTo方法.它没有给我设置文件名的选项.而MoveTo方法允许我重命名文件,删除原始位置的文件.

最好的方法是什么?

c# file-io

53
推荐指数
5
解决办法
12万
查看次数

Adm Zip将文件压缩为目录

我正在尝试使用Adm-Zip将文件打包到zip文件中

var AdmZip = require('adm-zip');

var pathToZip = 'build/release/Ext.zip';


var zip = new AdmZip();

zip.addLocalFile('background.js');
zip.addLocalFile('chrome_ex_oauth.html');
zip.addLocalFolder('images');
zip.writeZip(pathToZip);
Run Code Online (Sandbox Code Playgroud)

但是,所有文件都将作为文件夹添加到zip中,并且实际内容不会被压缩.

截图

入门参考如下,这似乎是一个非常简单的例子,它没有按预期工作.我究竟做错了什么? https://github.com/cthackers/adm-zip/wiki/ADM-ZIP-Introduction

javascript zip node.js adm-zip

13
推荐指数
1
解决办法
7029
查看次数

继承List <T>来实现集合是个坏主意吗?

我曾经读过Imaar Spaanjars关于如何构建3层应用程序的文章.(http://imar.spaanjaars.com/416/building-layered-web-applications-with-microsoft-aspnet-20-part-1)这已成为我编码的基础.

因此,我通过继承a来实现集合List<T>.因此,如果我有一个名为Employee的类,要实现一个集合,我还将有一个Employees类,如下所示.

class Employee
{
   int EmpID {get;set;}
   string EmpName {get;set;}  

}

class Employees : List<Employee>
{
   public Employees(){}
}
Run Code Online (Sandbox Code Playgroud)

我从来没有真正质疑这一点,因为它为我做了工作.但是现在我开始尝试一些事情,我不确定这是否是正确的方法.

例如,如果我想从Employees获得一个子集,例如

 Employees newEmployees = (Employees) AllEmployees.FindAll(emp => emp.JoiningDate > DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

这会抛出System.InvalidCastException.但是,如果我使用以下内容则没有问题.

List<Employee> newEmployees = AllEmployees.FindAll(emp => emp.JoiningDate > DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

那么我该如何实现Employees以便我不必List<Employee>在DAL或BLL中明确使用?或者我怎么摆脱InvalidCastexception?

c# collections list

12
推荐指数
2
解决办法
9357
查看次数

ESLint表示,即使将元素推入数组,数组也从未修改过

我正在转换一些现有代码以遵循ECMA脚本,我使用ESLint遵循编码标准.我有以下ecmascript方法

static getArrayOfIndices(text, char) {
    let resultArray = [];
    let index = text.indexOf(char);
    const lastIndex = text.lastIndexOf(char);
    while (index <= lastIndex && index !== -1) {
      resultArray.push(index);
      if (index < lastIndex) {
        index = text.substr(index + 1).indexOf(char) + index + 1;
      } else {
        index = lastIndex + 1999; // some random addition to fail test condition on next iteration
      }
    }
    return resultArray;
  }
Run Code Online (Sandbox Code Playgroud)

对于resultArray的声明,ESLint会抛出错误

ESLint: `resultArray` is never modified, use `const`instead. (prefer-const)
Run Code Online (Sandbox Code Playgroud)

但是由于元素被推入数组,是不是被修改了?

javascript arrays ecmascript-6 eslint

12
推荐指数
1
解决办法
1886
查看次数

如何查找用户控件的父页面的URL

我有一个用户控件,如果执行某个操作,我想重定向到用户所在的页面,并带有一些额外的查询字符串参数.

所以,如果UserControl.ascx在Home.aspx上,我想重定向到Home.aspx?action = true,如果UserControl.ascx在Profile.aspx上,我想重定向到Profile.aspx?action = true

基本上,在我的UserControl.ascx.cs中,我想获取父页面的URL.我怎么才能得到它?

asp.net user-controls ascx web-user-controls

10
推荐指数
1
解决办法
1万
查看次数

使用"导入导出向导"将数据从Excel导入到Sql Server时,如何更改列的默认varchar 255?

我正在尝试使用导入向导将数据从excel导入到Sql Server.在第一步中,一切似乎都很好.该向导能够读取excel文件并正确识别列.但是在进程实际运行的最后一步中,它没有给出以下错误:

错误0xc020901c:数据流任务1:输出"Excel源输出"(9)上的输出列"AlternateName"(24)出错.返回的列状态为:"文本被截断,或者目标代码页中的一个或多个字符不匹配.".(SQL Server导入和导出向导)

错误0xc020902a:数据流任务1:"输出列"AlternateName"(24)"失败,因为发生了截断,并且"输出列"AlternateName"(24)"上的截断行处置指定了截断失败.指定组件的指定对象上发生截断错误.(SQL Server导入和导出向导)

错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED.组件"Source - Sheet1 $"(1)上的PrimeOutput方法返回错误代码0xC020902A.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)

列AlternateName的最大数据长度为658个字符.目标表将AlternateName列定义为varchar(1000).所以我不确定为什么我会收到这个错误.但后来我注意到了这一点

在此输入图像描述

我有预感,这可能导致问题.但是,如何更改定义为varchar 255的Source列?

sql-server import-from-excel

8
推荐指数
1
解决办法
1万
查看次数

如果页面上存在异常,则输出缓存无效

我在其中一个页面中启用了输出缓存,如下所示:

<%@ OutputCache Duration="300" VaryByParam="*"%>
Run Code Online (Sandbox Code Playgroud)

问题是有时会出现异常,我们会显示相应的消息.但是此页面随后被缓存,其他用户也看到了异常消息.例如,假设数据库超时,因此抛出了Sql异常.捕获此异常并显示一条消息"连接到数据库时出错.请在一段时间后尝试".现在,此消息被缓存并显示给其他用户,甚至不查询数据库.

所以我想要做的是在有异常的情况下使特定的输出缓存无效,或者在有异常时不缓存.如何才能做到这一点?

这适用于ASP.NET 3.5 Webforms.

asp.net caching webforms outputcache

7
推荐指数
1
解决办法
973
查看次数

在.net中设置post参数的等效方法是什么?

我必须与第三方API集成.要使用该服务,我必须"POST"到具有某些参数的特定URL.

该服务提供的示例代码在php中,如下所示

$data = array('From' => '0999999', 'To' => '08888888'); 
$curl = curl_init();
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  <--- Ignore SSL warnings
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用WebRequest类在.net中实现相同的功能.但是,我对如何设置post参数数据感到有点困惑.我认为上面的$ data只不过是一本词典.所以我创建了一个等效的字典.但是,如何使用字典值设置post参数?

http://msdn.microsoft.com/en-us/library/debx8sh9.aspx中,他们将字符串序列化为字节数组,然后将其设置为dataStream中的post参数.我如何为字典做同样的事情?

或者我的方法不正确?有一个更好的方法吗?

c# asp.net httpwebrequest

6
推荐指数
1
解决办法
2万
查看次数

如何将字节数组响应从WebClient转换为Xml?

我正在调用第三方服务,他们将响应发送为Xml.但是,当我使用WebClient调用服务时,我得到的响应是一个字节数组.

var client = new WebClient();
var result = client.UploadValues(post_url, data);
Run Code Online (Sandbox Code Playgroud)

结果是一个字节数组.如何将其转换为XML以读取第三方服务给出的响应?

c# asp.net

6
推荐指数
2
解决办法
5429
查看次数

如何在流中使用keyMirror?

在我的flux/react 设置中,我将ActionTypes 定义为keyMirror。

export const ActionType = keyMirror({
  START_TIMER: null,
  STOP_TIMER: null,
  PERFORM_STARTUP_CHECKS: null,
  SELECT_TASK_SERVICE:null,
  ADD_TASK: null,
  CLEAR_ALL_TASKS: null,
  COMPLETE_TASK: null,
  UNDO_COMPLETE_TASK: null,
  EDIT_TASK_TEXT: null,
});
Run Code Online (Sandbox Code Playgroud)

然后我定义不同类型的 Action 如下:

export type TaskAction = {
 type: ActionType.ADD_TASK,
 text: string
} | {
 type: ActionType.COMPLETE_TASK,
 taskId: string 
}

export type TimerAction = {
  type: ActionType.START_TIMER
} | {
  type: ActionType.STOP_TIMER
}
Run Code Online (Sandbox Code Playgroud)

这些不同类型的动作对应不同的商店。例如

In TasksStore
.
.
  reduce(state: TasksList, action: TaskAction) 

In TimerStore 
.
.
reduce(state: State, action: TimerAction) 
Run Code Online (Sandbox Code Playgroud)

但是,当我运行流程时,无法识别该操作。

 56:         indexOfTask = …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs-flux flowtype

5
推荐指数
0
解决办法
480
查看次数