小编Ral*_*oss的帖子

你如何阅读正在使用的文件?

我有一个小问题.我有一个工具,应该每天解析一个日志文件,不幸的是这个日志文件正在被写入日志的进程使用,我无法阻止它.

首先尝试创建该文件的副本,该副本也不起作用.

有没有办法让我阅读日志文件的当前文本,即使它已被使用?

c# file-io

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

在SpecFlow中,如何在步骤/功能之间共享数据?

我有2个功能使用常见的'When'步骤,但在不同的类中有不同的'Then'步骤.

我如何在我的两个步骤中的When步骤中从我的MVC控制器调用中访问ActionResult?

c# specflow

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

在单元测试中为ApiController设置User属性

我对ApiController的单元测试使用一些帮助器方法来实例化控制器:

public static ResourcesController SetupResourcesController(HttpRequestMessage request, IResourceMetadataRepository repo, IUnitOfWorkService unitOfWorkService)
{
    var config = new HttpConfiguration();
    var defaultRoute = config.Routes.MapHttpRoute(RouteNames.DefaultApi , "api/{controller}/{id}");
    var routeData = new HttpRouteData(defaultRoute, new HttpRouteValueDictionary { { "controller", "resources" } });

    var resourcesController = new ResourcesController(repo, unitOfWorkService)
    {
        ControllerContext = new HttpControllerContext(config, routeData, request),
        Request = request
    };
    resourcesController.Request.Properties.Add(HttpPropertyKeys.HttpRouteDataKey, routeData);
    resourcesController.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;

    // Compilation fail: The Property 'System.Web.Http.ApiController.User' has no setter.
    resourcesController.User = myStubUserPrincipal;

    return resourcesController;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何设置控制器的用户属性?

我试过了:

request.Properties.Add("MS_UserPrincipal", myStubUserPrincipal);
Run Code Online (Sandbox Code Playgroud)

但这也不起作用(resourcesController.User属性保持为null).

c# iprincipal asp.net-web-api

24
推荐指数
2
解决办法
7576
查看次数

复制对话框"格式化选择"冻结,导致GUI挂起,如何将其关闭?

我刚刚用更新2更新了Visual Studio 2015专业版,当我复制甚至在代码中突出显示内容时,一个恼人的弹出窗口带有一个取消按钮,大约需要1-5秒,并使整个事情冻结.它出现在我选择/复制一个字或多行代码时.我怎么关闭它,直到微软修复这是什么...在此输入图像描述

visual-studio-2015

24
推荐指数
2
解决办法
4735
查看次数

如何将CSS类添加到BoundField,以便我可以使用jQuery找到它?

我想在GridView控件中为我的一些BoundFields添加一个类名; 因此,一旦GridView被数据绑定并呈现,我就可以获得如下内容:

<td class="Tag1">Some data came from data source</td>
Run Code Online (Sandbox Code Playgroud)

这样做的目的是能够以这种方式找到所有"Tag1"的元素:

var allTag1td = $('td.Tag1');
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能将这个类添加到BoundField中,以便以这种方式呈现它?

css asp.net jquery gridview

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

如何解决'@echo'不是公认的命令

我已经实现了Scott Hanselman的方法来跟上web.config的dev/qa/prod版本:http://www.hanselman.com/blog/CommentView.aspx? guid = 93bfa4b3-44cd-4681-b70e-f4a2b0386466

由于某种原因,当我编译我的项目时,我在输出窗口中收到此错误消息.
有任何想法吗?

------ Build started: Project: ABC.Flims.Web, Configuration: Development Any CPU ------
"C:\Projects\ballyhoo-trunk\src\ABC.Flims.Web\scripts/copyifnewer.bat" "C:\Projects\ballyhoo-trunk\src\ABC.Flims.Web\web.config.Development" "C:\Projects\ballyhoo-trunk\src\ABC.Flims.Web\web.config"
'???@echo' is not recognized as an internal or external command,
operable program or batch file.  
Run Code Online (Sandbox Code Playgroud)

这是脚本文件:

@echo off
echo Comparing two files: %1 with %2

if not exist %1 goto File1NotFound
if not exist %2 goto File2NotFound

fc %1 %2 
if %ERRORLEVEL%==0 GOTO NoCopy

echo Files are not the same.  Copying %1 over %2
copy %1 %2 …
Run Code Online (Sandbox Code Playgroud)

asp.net visual-studio-2008 visual-studio

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

如何将对象列表转换为csv?

如果我有一个名为"Car"的对象列表:

public class Car
{
     public string Name;
     public int Year;
     public string Model;
}
Run Code Online (Sandbox Code Playgroud)

如何将对象列表转换为例如List <Car>到csv?

c# linq csv generics list

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

我是否应该注意到在.Net 4.0中使用任务与线程的区别?

我更新了我的代码以使用Tasks而不是线程....

看看内存使用情况和CPU我没有注意到多核PC的任何改进,这是预期的吗?

我的应用程序基本上在运行时启动不同对象中的线程/任务...

我所做的一切都很简单

Task a = new Task(...)
a.Start();
Run Code Online (Sandbox Code Playgroud)

c# multithreading .net-4.0 task

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

实体框架4仅代码错误"不支持每种类型的多个对象集"

我有两个"仅代码"POCO使用EF4和最新的CTP,针对现有的遗留数据库运行.对PocoA运行LINQ查询一直工作,直到我将下面的属性添加到该对象,我试图添加一个关系.

public virtual PocoB pocoB { get; set; }
Run Code Online (Sandbox Code Playgroud)

一旦我这样做,我开始收到以下错误:

Multiple object sets per type are not supported. The object sets 'PocoA_DbSet' and 'PocoB_DbSet' can both contain instances of type 'PocoA'.

所以我接下来认为我的问题是因为我没有定义关系,而这个遗留数据库在主键和外键上使用'fk/pk'前缀而不是'Id'后缀.所以我将以下数据注释添加到上面指定的虚方法中,行为没有变化:

[RelatedTo(Property="PocoB", ForeignKey="fkPocoB")]
Run Code Online (Sandbox Code Playgroud)

我真的不知道需要改变什么来使这项工作.

.net c# asp.net-mvc entity-framework entity-framework-4

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

你如何使用asParallel与async和await关键字?

我正在查看异步的某个示例代码,并注意到它实现方式的一些问题.在查看代码时,我想知道使用并行循环遍历列表是否更有效,而不是正常循环遍历列表.

据我所知,性能差异很小,两者都占用了每个处理器,两者都在相同的时间内完成.

这是第一种方式

var tasks= Client.GetClients().Select(async p => await p.Initialize());
Run Code Online (Sandbox Code Playgroud)

这是第二个

var tasks = Client.GetClients().AsParallel().Select(async p => await p.Initialize());
Run Code Online (Sandbox Code Playgroud)

假设两者之间没有区别,我是否正确?

完整的程序可以在下面找到

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            RunCode1();
            Console.WriteLine("Here");
            Console.ReadLine();

            RunCode2();
            Console.WriteLine("Here");

            Console.ReadLine();

        }

        private async static void RunCode1()
        {
            Stopwatch myStopWatch = new Stopwatch();
            myStopWatch.Start();

            var tasks= Client.GetClients().Select(async p => await p.Initialize());

            Task.WaitAll(tasks.ToArray());
            Console.WriteLine("Time ellapsed(ms): " + myStopWatch.ElapsedMilliseconds);
            myStopWatch.Stop();
        }
        private async …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous

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