Tag: c#

你如何使用Linq到ADO.NETentity framework进行全文搜索(FTS)?

现在SQL Server 2008内置了全文搜索。我希望用它来支持我网站的搜索。 我也在考虑为我的ORM使用ADO.NETentity framework,但我想知道如何使用Linq到ADO.NETentity framework进行全文搜索(FTS)? 在ADO.NETentity framework中是否有任何支持,或者我是否坚持使用创建使用全文搜索谓词的函数的方法 ?

C#中Process和ProcessStartInfo有什么区别?

Process和ProcessStartInfo什么区别? 我已经用它们来启动外部程序,但必须有两种方法可以做到这一点。 这是两个例子。 Process notePad = new Process(); notePad.StartInfo.FileName = “notepad.exe”; notePad.StartInfo.Arguments = “ProcessStart.cs”; notePad.Start(); 和 ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = “notepad.exe”; startInfo.Arguments = “ProcessStart.cs”; Process.Start(startInfo);

如何同时异步进行多次ping操作?

我似乎无法理解如何构建对SendPingAsync的异步调用。 我想循环遍历一个IP地址列表,并在继续执行程序之前异步ping它们…现在需要一次一个地遍历所有这些地址。 我之前问了一个关于它的问题,我认为我能够找出异步,但显然我错了。 private void button1_Click(object sender, EventArgs e) { this.PingLoop(); MessageBox.Show(“hi”); //for testing } public async void PingLoop() { Task longRunningTask = PingAsync(); int result = await longRunningTask; MessageBox.Show(“async call is finished!”); //eventually want to loop here but for now just want to understand how this works } private async Task PingAsync() { Ping […]

错误:无法加载log4net程序集

我想解决这个错误: 无法加载文件或程序集’log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304’或其依赖项之一。 系统找不到指定的文件。“此错误位于web.config文件中。 当我将log4net.dll复制到我的webapp的bin目录时,我得到了一个 无法加载文件或程序集’log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 web.config文件中也会发生此错误。 更改版本和公钥令牌以匹配文件非常容易,以便正确加载程序集。 当我这样做时,我的网站运行完美,除了reportViewer对象。 然后它会在reportViewer标记处抛出原始错误,而不是web.config。 我的假设是,如果我安装了所请求的log4net.dll版本,我的问题就会得到解决。 但我不知道它是哪个文件,或者在哪里找到它。 我通过下载log4net 1.2.10并尝试下载中的每个dll来检查显而易见的事。 我应该提一下,该网站在我的开发机器上运行没有问题,但在发布到我的服务器时却没有。 我在Server 2008 R2操作系统上运行asp.net网站,.NET 4.0,IIS 7。 我已经为64位安装了Crystal Reports 13.0.1(我的机器是64位)。 我该如何解决这个问题? 编辑:为了回应@Kwvian的回答,我已经对我的web.config文件进行了更改。 我仍然得到清单定义与程序集引用不匹配的错误。 抛出此错误的代码是: Line 33:

LINQ Group连续时间

假设我有一个看起来像这样的简单结构: public class Range { public DateTime Start { get; set; } public DateTime End { get; set; } public Range(DateTime start, DateTime end) { this.Start = start; this.End = end; } } 我创建了一个像这样的集合: var dr1 = new Range(new DateTime(2011, 11, 1, 12, 0, 0), new DateTime(2011, 11, 1, 13, 0, 0)); var dr2 = […]

如何使用.NET HttpWebRequest API从响应中读取HTTP头?

我的应用目前使用OAuth与Twitter API进行通信。 早在去年12月,Twitter就将OAuth的费率上限提高到每小时350个请求。 但是,我没有看到这一点。 我仍然从account / rate_limit_status方法获得150。 有人告诉我,我需要使用X-RateLimit-Limit HTTP标头来获得新的速率限制。 但是,在我的代码中,我没有看到标题。 这是我的代码…… HttpWebRequest request = (HttpWebRequest)WebRequest.Create(newURL); request.Method = “GET”; request.ServicePoint.Expect100Continue = false; request.ContentType = “application/x-www-form-urlencoded”; using (WebResponse response = request.GetResponse()) { using (StreamReader reader = new StreamReader(response.GetResponseStream())) { responseString = reader.ReadToEnd(); } } 如果我检查response ,我可以看到它有一个Headers的属性,并且有16个头。 但是,我没有列表中的X-RateLimit-Limit 。 图片http://sofzh.miximages.com/c%23/33201085434am.png 知道我做错了什么吗?

在100毫秒内查看大型多页Tif图像

我正在使用WinForms。 在我的表单中,我有一个pictureBox (设置为normal mode ),下一个和上一个按钮。 我想快速resize和加载多页TIF图像。 当我转到多页TIF图像的下一页时,每次将图像绘制到pictureBox都会遇到延迟。 图像的平均速度大约需要800毫秒。 我希望页面在100毫秒内加载。 我希望像IrfanView一样快速处理大型TIF图像 。 IrfanView是一个小型图像查看应用程序。 如果您下载IrfanView,您可以看到性能有多快。 目前我有另一个解决方案,我使用multithreading后台工作程序将TIF页面加载到一个数组然后我缩小它。 这种方法最初需要一些时间,但这里的目标是不必等待。 有没有办法在.NET中改进大图像的Graphics.DrawImage性能? g.DrawImage(img,0,0,width,height); //此行导致延迟“800毫秒,具体取决于您的计算机” 我使用的TIF图像的大小:宽度= 16800,高度= 10800 只有黑白Tif图像 位深度= 1 分辨率单位= 2 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Tif_Preformance_Question { public partial class Form1 : Form […]

c#DbSet – 无法获取内部对象

我需要将实体切换到内部。 所以我创造了它。 没有构建/运行时错误。 但是当我想使用DbSet对象时我不能,因为对象似乎没有初始化! 我的ContextEntities: public partial class Entities { internal DbSet EmployeeSet { get; set; } } 我这样用: Entities context = new Entities(); List employees = context.EmployeeSet.ToList(); 但“EmployeeSet”为空。 我认为这是因为它没有在get中实例化。 如果我像这样使用public,它可以工作: public partial class Entities { public DbSet EmployeeSet { get; set; } } 问题:如果DbSet标记为内部,它可以工作吗? 如果是这样的话? 为什么会破坏它? (谢谢Scott Stafford)

从C#代码动态切换WPF网格列的可见性

我的问题是:我无法找到如何切换WPF网格列的可见性。 假设遵循XAML标记: Aferwards网格中充满了一些控件等。现在我想从C#代码中动态隐藏一个列。 我已经尝试通过将列的定义宽度设置为零来实现此目的,例如Column1.Width = 0 。 这有效,但我真的不喜欢这个解决方案 – 真的没有更好的方法吗? 我正在寻找类似myGrid.Columns[0].Visibility = COLLAPSED东西myGrid.Columns[0].Visibility = COLLAPSED或Column1.Visibility = HIDDEN 。 我找不到那样的东西 – 任何想法?

按两个条件排序,字符串升序,int升序

如何根据两个不同的标准进行排序? 例如,我有人物对象,如: 具有FirstName (字符串), LastName和Rank (int)属性的Person 。 像这样的示例数据: Xavier Smith 1 Alexander Smith 2 Alexander Smith 1 Bob Hawke 2 它应按字母顺序排序FirstName,然后按排名排序,例如: Alexander Smith 1 Alexander Smith 2 Bob Hawke 2 Xavier Smith 1 到目前为止,我已经尝试了以下内容,但它无法正常工作: peopleList是List peopleList.Sort(new Comparison((x,y) => x.Rank.CompareTo(y.Rank))); peopleList.Sort(new Comparison((x, y) => string.Compare(x.Name, y.Name))); 谢谢 编辑:为了避免更改我的代码太多,我真的想保留列表,如果我将上面的行更改为: peopleList.OrderBy(person => person.FirstName).ThenBy(person => person.Rank).ToList(); 会给出完全相同的列表,只是正确排序,对吗?