在一个目录中创建文件(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#代码中的重写规则.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";?
这是我对动态网址重写的想法.感谢您的任何其他方式.
<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) 我在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也在我的机器上)托管的网站上.
任何想法,为什么会这样?
<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吗? - 如果不是错误处理有什么问题?
这是我的服务生成类:
public partial class MyClass : object,
System.Runtime.Serialization.IExtensibleDataObject,
System.ComponentModel.INotifyPropertyChanged
{ }
Run Code Online (Sandbox Code Playgroud)
我正在使用自己的服务.在MyClass我已经被覆盖ToString()但我没有在我的客户端.我要么要生成它,要么MyClass部分我能够覆盖ToString自己?
我知道我可以用生成的.cs文件写.什么是最好的方法,我应该做什么?
我想允许用户请求位于App_Data文件夹中的文件.这是错误:
错误摘要
HTTP错误404.8 - 未找到
请求过滤模块配置为拒绝URL中包含hiddenSegment部分的路径.
试图将float转换为int但是缺少了一些东西
float submittedAmount = 0.51f;
int amount = (int)(submittedAmount * 100);
Run Code Online (Sandbox Code Playgroud)

为什么答案是50?
我有以下场景,我要复制多个(大约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) 公司有很多评论,其中有评级栏本身.
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) 这是我的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)
我怎样才能得到json的string?可能吗?
我有一个来自数据库的实体,我想将数据复制到另一个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 - 一个空字符串.
怎么实现这个想法?
从中读取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# ×9
.net ×3
asp.net ×3
iis ×3
web-config ×3
asp.net-mvc ×2
copy ×2
file ×2
jquery ×2
ajax ×1
asynchronous ×1
casting ×1
each ×1
excel ×1
filesystems ×1
group-by ×1
html ×1
int ×1
io ×1
javascript ×1
join ×1
json ×1
linq ×1
loops ×1
oledb ×1
parsing ×1
post ×1
redirect ×1
string ×1
t-sql ×1
wcf ×1