小编lev*_*evi的帖子

等到文件完全写入

在一个目录中创建文件(FileSystemWatcher_Created)时,我将其复制到另一个目录中.但是当我创建一个大(> 10MB)文件时,它无法复制文件,因为它已经开始复制,当文件尚未完成创建时...
这导致无法复制文件,因为它被另一个进程使用提高.;(
任何帮助?

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\levan\FolderListenerTest\ListenedFolder";
        FileSystemWatcher listener; 
        listener = new FileSystemWatcher(path);
        listener.Created += new FileSystemEventHandler(listener_Created);
        listener.EnableRaisingEvents = true;

        while (Console.ReadLine() != "exit") ;
    }

    public static void listener_Created(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine
                (
                    "File Created:\n"
                   + "ChangeType: " + e.ChangeType
                   + "\nName: " + e.Name
                   + "\nFullPath: " + e.FullPath
                );
        File.Copy(e.FullPath, @"D:\levan\FolderListenerTest\CopiedFilesFolder\" + e.Name);
        Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# filesystems io copy file

66
推荐指数
4
解决办法
11万
查看次数

从代码C#更改Web.Config中的URL重写规则

我想修改C#代码中的重写规则.Url重写规则位于web.config文件中.

<system.webServer>
    <rewrite>
      <rules>
        <rule name="partners">
          <match url="^partners$" />
          <action type="Rewrite"
                  url="partners.aspx" />
        </rule>
        <rule name="news">
          <match url="^news$" />
          <action type="Rewrite"
                  url="news.aspx" />
        </rule>
        <rule name="projects">
          <match url="^projects$" />
          <action type="Rewrite"
                  url="projects.aspx" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

我想改变前.<rule name="partners"> <match url="^partners$" /><rule name="partners"> <match url="^friendship/partners$" />,

如何找到节点规则并将匹配网址更新为"new one",其中name ="partners";?

这是我对动态网址重写的想法.感谢您的任何其他方式.

c# asp.net iis web-config url-rewriting

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

jQuery循环通过Child divs

<div id="ChosenCategory" class="chosen">
   <div class="cat_ch" name="1">
   <div class="cat_ch" name="2">
   <div class="cat_ch" name="3">
   <div class="cat_ch" name="5">
   <div class="clear"> </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想循环div.cat_ch怎么样?

这个失败了:

    $("div").each(function () {
       alert("FW");
       alert($(this).attr("name").val());
    });
Run Code Online (Sandbox Code Playgroud)

html javascript each jquery loops

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

在Excel上读取Excel文件中的有限行

我在IIS上托管了一个asp.net mvc应用程序.我有一个表单,用户上传包含50k +行的excel文件.我用以下C#代码读取了excel文件.

    public DataTable GetExcelDataTable(string fileName)
    {
        string connectionString = Path.GetExtension(fileName) == "xls" ?
            string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data source={0}; Extended Properties=Excel 8.0;", fileName) :
            string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", fileName);

        var conn = new OleDbConnection(connectionString);
        using (var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn))
        {
            var ds = new DataSet();

            adapter.Fill(ds);

            DataTable data = ds.Tables[0];

            conn.Close();
            conn.Dispose();
            adapter.Dispose();
            return data;
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是它只读取多达30k行但从不读取整个excel文件.

有趣的是,如果我使用visual studio运行mvc app,我可以阅读(使用相同的代码)所有行,但是,再次,永远不会从IIS(IIS也在我的机器上)托管的网站上.

任何想法,为什么会这样?

c# iis oledb asp.net-mvc excel

8
推荐指数
2
解决办法
1360
查看次数

CustomErrors DefaultRedirect到Default.aspx不起作用

<system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/LogIn.aspx" defaultUrl="~/default.aspx" protection="All">
      </forms>
    </authentication>
    <customErrors mode="Off" defaultRedirect="~/default.aspx"></customErrors>
</system.web>
Run Code Online (Sandbox Code Playgroud)

这是我在web.config中的错误处理,它无法正常工作.如果抛出任何异常,则不会重定向到default.aspx页面.
是因为我设置defaultUrl~/default.aspx吗? - 如果不是错误处理有什么问题?

asp.net error-handling redirect web-config

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

在WCF服务中覆盖ToString方法

这是我的服务生成类:

public partial class MyClass : object, 
                               System.Runtime.Serialization.IExtensibleDataObject, 
                               System.ComponentModel.INotifyPropertyChanged 
{ }
Run Code Online (Sandbox Code Playgroud)

我正在使用自己的服务.在MyClass我已经被覆盖ToString()但我没有在我的客户端.我要么要生成它,要么MyClass部分我能够覆盖ToString自己?

我知道我可以用生成的.cs文件写.什么是最好的方法,我应该做什么?

.net c# wcf serialization partial-classes

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

允许对App_Data的请求

我想允许用户请求位于App_Data文件夹中的文件.这是错误:

错误摘要

HTTP错误404.8 - 未找到

请求过滤模块配置为拒绝URL中包含hiddenSegment部分的路径.

c# asp.net iis web-config

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

在Int.中浮动值丢失

试图将float转换为int但是缺少了一些东西

float submittedAmount = 0.51f;

int amount = (int)(submittedAmount * 100);
Run Code Online (Sandbox Code Playgroud)

这是看. 看一下变量值

为什么答案是50?

.net c# floating-point int casting

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

复制线程中的多个文件

我有以下场景,我要复制多个(大约10,50,200,...)文件.我一个接一个地同步那样做.这是我的代码片段.

static void Main(string[] args)
        {
            string path = @"";
            FileSystemWatcher listener = new FileSystemWatcher(path);
            listener.Created += new FileSystemEventHandler(listener_Created);
            listener.EnableRaisingEvents = true;

            while (Console.ReadLine() != "exit") ;
        }

        public static void listener_Created(object sender, FileSystemEventArgs e)
        {
            while (!IsFileReady(e.FullPath)) ;
            File.Copy(e.FullPath, @"D:\levani\FolderListenerTest\CopiedFilesFolder\" + e.Name);
        }
Run Code Online (Sandbox Code Playgroud)

因此,当文件在某个文件夹中创建并且可以使用时,我会一个接一个地复制该文件,但是我需要在任何文件准备就绪后立即开始复制.所以我认为我应该使用Threads.那么.. 如何实现并行复制?

@克里斯

检查文件是否准备好

public static bool IsFileReady(String sFilename)
        {
            // If the file can be opened for exclusive access it means that the file
            // is no longer locked by another process.
            try
            {
                using …
Run Code Online (Sandbox Code Playgroud)

c# multithreading asynchronous copy file

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

按加入和分组更新表

公司有很多评论,其中有评级栏本身.

CompID  Ratig
12  3
13  3
17  4
22  4
23  5
24  3
28  3,2
Run Code Online (Sandbox Code Playgroud)

这是我需要通过id设置给每个公司的.现在评级公司列是 NULL.

我写过这样的话:

UPDATE Companies c
JOIN Reviews r on c.CompanyID = r.CompanyID
SET c.Rating = AVG(r.rating)
group by r.CompanyID
Run Code Online (Sandbox Code Playgroud)

t-sql join group-by sql-server-2008

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

将JSON发布为字符串

这是我的js/ajax代码:

    $.ajax({
        type: 'POST',
        data: JSON.stringify(jsonObj),
        url: 'filter/GetAjaxTestResult',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
        alert(data);
      }
    });
Run Code Online (Sandbox Code Playgroud)

我想以json字符串形式发帖.这是我在mvc/controller中尝试过的:

[HttpPost]
public JsonResult GetAjaxTestResult(dynamic jsonString)
{
    return "";// Here jsonString is null!!!
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到jsonstring?可能吗?

ajax asp.net-mvc jquery post json

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

使用LINQ将列表复制到不同的列表

我有一个来自数据库的实体,我想将数据复制到另一个class具有以下字段的数据.这里是

var list = mediaItems.Select(m => new MediaItemView
                {
                    ImageUrl = m.ImageURL,
                    LongDesc = m.LongDescription,
                    Title = m.Title,
                    Price = m.PriceNoVAT,
                    Composer = m.MediaItemOriginators.Where(mo => mo.OriginatorType.OriginatorTypeId == 3).FirstOrDefault().Originator.Firstname,
                    Arranger = m.MediaItemOriginators.Where(mo => mo.OriginatorType.OriginatorTypeId == 2).FirstOrDefault().Originator.Firstname,
                });
Run Code Online (Sandbox Code Playgroud)

问题:Composer = m.MediaItemOriginators.Where(mo => mo.OriginatorType.OriginatorTypeId == 3).FirstOrDefault()为null时,我得到异常(这是正常的),但是如果有任何或者没有,我想拥有Composer - 一个空字符串. 怎么实现这个想法?

.net c# linq entity-framework-4

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

从String中提取值

从中读取RESULT的最佳方法是什么string只需要解析字符串,它是从Web服务返回的

"RESULT: FAILED
 RESULT_CODE: 944
 RRN: 313434415392
 APPROVAL_CODE: 244447
 CARD_NUMBER: 4***********3412";
Run Code Online (Sandbox Code Playgroud)

我可以用mystring.split(' '),但我认为这不是一个好主意.

c# string parsing

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