问题列表 - 第2908页

安全流更新文件

我们通过将新记录写入临时文件,然后用临时文件替换旧文件来执行大型文本文件的更新.一个严重缩写的版本:

var tpath = Path.GetTempFileName();
try
{
    using (var sf = new StreamReader(sourcepath))
    using (var tf = new StreamWriter(tpath))
    {
        string line;
        while ((line = sf.ReadLine()) != null)
            tf.WriteLine(UpdateLine(line));
    }

    File.Delete(sourcepath);
    File.Move(tpath, sourcepath);
}
catch
{
    File.Delete(tpath);
    throw;
}
Run Code Online (Sandbox Code Playgroud)

如果有任何异常抛出异常(找不到文件,没有权限),原始文件保持不变,这就是我们想要的.

但是,代码存在以下问题:

  1. 是否存在真实的情况,Delete但是Move失败了?这将删除原始数据和更新数据.这会很糟糕.

  2. 最常见的故障是源文件从另一个应用程序打开,并且Delete失败.这意味着将丢弃所有更新工作.有没有办法查看源文件在开始时是否可删除,如果没有则放弃更新?

  3. 我们让用户将Windows资源管理器摘要属性(如标题或注释)放在文件上.删除文件时会丢弃这些内容.有没有办法将旧文件的Summary属性复制到新文件?我们应该这样做吗?

.net windows

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

C#将HyperLinkColumn添加到GridView

我正在尝试动态添加HyperLinkColumns到我的GridView.我有以下代码:

HyperLinkColumn objHC = new HyperLinkColumn();
objHC.DataNavigateUrlField = "title";
objHC.DataTextField = "Link text";
objHC.DataNavigateUrlFormatString = "id, title";
objHC.DataTextFormatString = "{2}";

GridView1.Columns.Add(objHC);
Run Code Online (Sandbox Code Playgroud)

这不起作用,所以..我怎么能将HyperLinkColumn添加到我的GridView?

c# gridview

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

我可以将XMLHttpRequest发送到另一个域吗?

有没有办法将XMLHttpRequest与其他域结合使用?

我想从Google解析一些xml,而不必使用服务器,因此运行起来极其复杂.

var req = getXmlHttpRequestObject();
...
req.open('GET', 'http://www.google.de/ig/api?weather=Braunschweig', true);
        req.setRequestHeader("Content-Type","text/xml");
        req.onreadystatechange = setMessage;
        req.send(null);
Run Code Online (Sandbox Code Playgroud)

在服务器端这样做是不可能的,至少我不必问

javascript xml ajax xmlhttprequest

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

臂.从Supervisor模式访问用户R13和R14

如何访问在进入管理员模式时保存的用户R13和R14?我正在使用ARM7TDMI.

IE我不想访问管理程序R14,它现在包含返回用户模式的地址,而不是想要用户模式的链接寄存器的值.这是我正在编写的调试器的一部分.

这些寄存器有特殊的别名吗?

谢谢

arm supervisor-mode

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

将串流内容写入流中

我目前正在使用std::ofstream如下:

std::ofstream outFile;
outFile.open(output_file);
Run Code Online (Sandbox Code Playgroud)

然后我尝试将std::stringstream对象传递给outFile如下:

GetHolesResults(..., std::ofstream &outFile){
  float x = 1234;
  std::stringstream ss;
  ss << x << std::endl;
  outFile << ss;
}
Run Code Online (Sandbox Code Playgroud)

现在我只outFile包含垃圾:"0012E708"重复了一遍.

GetHolesResults我可以写

outFile << "Foo" << std:endl; 
Run Code Online (Sandbox Code Playgroud)

并且它将正确输出outFile.

关于我做错了什么的任何建议?

c++ parameters stl stringstream ofstream

47
推荐指数
2
解决办法
5万
查看次数

有没有办法在php中的沙盒中执行php代码

我想从php执行一个php脚本,它将使用不同的常量和已经定义的不同版本的类.

是否有沙箱php_module我可以:

sandbox('script.php'); // run in a new php environment
Run Code Online (Sandbox Code Playgroud)

代替

include('script.php'); // run in the same environment
Run Code Online (Sandbox Code Playgroud)

或者proc_open()是唯一的选择吗?

PS:无法通过网络访问该脚本,因此fopen(' http://host/script.php ')不是一个选项.

php module sandbox

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

如何在System.Data.IDataReader中模拟GetValues()方法?

如何在System.Data.IDataReader中模拟GetValues()方法?

此方法更改传递给它的对象数组,因此它不能简单地返回模拟值.

private void UpdateItemPropertyValuesFromReader( object item, IDataReader reader )
{
    object[] fields = new object[ reader.FieldCount ];
    reader.GetValues( fields ); //this needs to be mocked to return a fixed set of fields


    // process fields
   ...
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing rhino-mocks datareader

5
推荐指数
1
解决办法
1246
查看次数

如何在Delphi中为指向数组的指针保留内存?

我正在开发类来表示特殊类型的矩阵:

type
  DifRecord = record
    Field: String;
    Number: Byte;
    Value: smallint;
  end;

type
  TData = array of array of MainModule.DataRecord;

type
  TDifference = array of DifRecord;

type
  TFogelMatrix = class
  private
    M: Byte;
    N: Byte;
    Data: ^TData;
    DifVector: ^TDifference;
    procedure init(); 
  public
    constructor Create(Rows, Cols: Byte);
    destructor Destroy;
  end;
Run Code Online (Sandbox Code Playgroud)

现在在构造函数中,我需要为Data和DifVector类成员保留内存.正如您所见,我使用指向记录数组的指针.所以,主要的问题是,我该如何正确保留记忆?我想我不能使用类似的东西: 因为我失去了主要想法 - 在运行时保留内存空间,就像我想要的那样.感谢您的评论.
new(Data);
new(DifVector);

delphi pointers memory-management

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

通过MembershipProvider在断开连接的WPF应用程序中验证ActiveDirectory用户和GetRoles

我有一个项目要求,我需要在远程/断开连接的WPF应用程序中对ActiveDirectory进行身份验证.

可能有几种方法可以尝试这样做,但使用ActiveDirectory的MembershipProvider的最佳方法是什么?

我需要:

  1. 验证用户是否存在.
  2. 获取AD用户的组和角色.

这需要从Active Directory所在的网络外部的远程位置进行.

wpf roles active-directory membership-provider

9
推荐指数
1
解决办法
8236
查看次数

Mediawiki标记的开源解析器代码

我有兴趣有选择地解析Mediawiki XML标记,以生成一个自定义HTML页面,该页面是实际PHP Mediawiki渲染引擎生成的HTML的一部分.

我想要它用于BzReader,一个用C#编写的离线Mediawiki压缩转储读取器.所以C#解析器是理想的,但任何好的代码都会有所帮助.

当然,如果以前没有人做过,我想是时候开始一个项目维护一个免费的,独立的Mediawiki解析器,基于Mediawiki自己的解析器,但与Mediawiki本身不太紧密集成.

那么,有没有人知道我可以开始的任何基础,这比通过Mediawiki PHP代码的黑客攻击更好?

php c# parsing mediawiki open-source

7
推荐指数
2
解决办法
6843
查看次数