我正在构建一个ASP.NET MVC站点,我计划使用Lucene.Net.我已经设想了一种构建Lucene使用方法的方法,但不确定我的计划架构是否正常且高效.
Application_StartGlobal.asax中的事件:我检查文件系统上的索引的存在-如果不存在的话,我创建并填写与文件从数据库中提取它.IndexWriter,填写一个文档,写入索引,最后处理掉IndexWriter.IndexWriters没有重用,因为我无法想象在ASP.NET MVC应用程序中这样做的好方法.HttpRuntime.Cache用户是否已经在过去5分钟内搜索过该术语 - 如果有,我会返回这些结果; 否则,我创建一个IndexReader,构建并运行一个查询,将结果放入HttpRuntime.Cache,返回给用户,最后处理掉IndexReader.再次,IndexReaders不再重复使用.我正在尝试使用ASP.NET网站创建一个HttpWebRequest/HttpWebResponse会话,以便稍后通过url params解析HTML表单(这部分我知道该怎么做),但我不明白如何解析和设置cookie如会话ID.在Fiddler中,它显示ASP.NET会话ID是通过Set-Cookie在对url的/ path请求的响应中返回的,但是如何提取此会话ID并将其设置为下一个HttpWebRequest的cookie ?我知道这个Set-Cookie标头可以在HttpWebResponse.Headers.Keys中找到,但有解析它的直接路径吗?谢谢!
注意:这是我的第一个Code Golf挑战/问题,所以我可能没有使用下面正确的格式.我不确定如何标记这个特定的问题,这应该是社区维基吗?谢谢!
这个Code Golf挑战是关于解决单词搜索!
维基百科定义的单词搜索是:
单词搜索,单词查找,单词搜索,单词侦听或神秘单词拼图是一种单词游戏,它是网格中单词的字母,通常具有矩形或正方形形状.这个难题的目的是找到并标记隐藏在框内的所有单词.单词可以是水平的,垂直的或对角的.通常会提供隐藏单词的列表,但更具挑战性的难题可能让玩家想出它们.许多单词搜索谜题都有一个主题,所有隐藏的单词都与之相关.
搜索此挑战的单词将全部为矩形网格,其中包含要查找的单词列表.单词可以垂直,水平或对角书写.
用户输入他们的单词搜索,然后输入要在他们的网格中找到的单词.这两个输入传递给您将要编写的函数.由您决定如何声明和处理这些对象取决于您.
使用下面描述的策略或您自己的策略,该函数在搜索中找到特定的单词并输出其起始坐标(简单的行号和列号)和结束坐标.如果您发现该单词出现两次,则必须输出两组坐标.如果单词是回文,你可以任意选择一端作为单词的"开头".
输入:
A I Y R J J Y T A S V Q T Z E
X B X G R Z P W V T B K U F O
E A F L V F J J I A G B A J K
R E S U R E P U S C Y R S Y K
F B …Run Code Online (Sandbox Code Playgroud) 如何让我的C#app擦除自身(自毁)?以下是我认为可行的两种方式:
这两种方法似乎效率低下.我觉得有一些内置的标志或Windows中允许这样的东西.我该怎么办?另外,您能提供一些示例代码吗?
更新:感谢您的所有答案!我要去尝试一下,看看能给我带来什么.
首先,有些人问我为什么要我的应用程序这样做.这就是答案:几天前,我读了Joel Spolsky在他的博客上发布的Project Aardvark规范,并提到客户端应用程序会在远程会话后删除自己.我想知道它是如何工作的,以及如果我需要这样做,我可以完成这样的壮举.
以下是对建议内容的一点概述:
当然,这些都有其缺点,如评论中所述.
但是,下面概述的这种方法是否有效?
有两个可执行文件:Program.exe和Cleaner.exe.前者是程序本身,后者是删除Program.exe及其自身的应用程序(如果它被加载到内存中,我将要解释).Program.exe(具有依赖关系)是否可以将所有没有任何依赖关系的Cleaner.exe 加载到内存中并运行它?
如果可以,可以将Cleaner.exe打包到Program.exe中,加载到内存中,然后运行?
Jon Skeet 在我的SOApiDotNet代码(用于pre-alpha Stack Overflow API的.NET库)上发表评论(通过推特):
@ maximz2005我注意到的一件事就是快速浏览源代码:你没有处理(原文如此)WebResponses.FTW"使用"声明.
他表示我需要将这些Web会话包装在"using"语句中.但是,我有一个问题:我应该包装整个事情,从HttpWebRequest开始,还是应该在"using"语句之外创建WebRequest然后将Response包装在里面?我感觉不同的是,在前者中,两个物体都会被处理掉 - 这是正确的吗?
提前致谢.
我需要做一种"超时"或在我的方法中暂停10秒(10000毫秒),但我不确定以下是否会起作用,因为我没有多线程.
Thread.Sleep(10000);
Run Code Online (Sandbox Code Playgroud)
我将尝试使用当前的代码,但如果有人可以解释这样做的最佳和正确的方法,我将不胜感激,特别是如果上述代码无法正常工作.谢谢!
更新:这个程序实际上是一个控制台应用程序,在该函数中对一个服务器执行许多HTTPWebRequests,所以我希望将它们延迟指定的毫秒数.因此,不需要回调 - 所需要的只是"无条件暂停" - 基本上整个事情停止10秒然后继续.我很高兴C#仍然认为这是一个线程,所以Thread.Sleep(...)会起作用.谢谢大家!
在看到最新的SO博客帖子后,我刚刚下载了OpenSTV,关于主持人选举的结果.杰夫写道,他使用OpenSTV进行选举,并提供了一张包含投票数据的投票文件(.blt).
我的问题是:你如何在C#中创建.BLT文件?
以下两种方式我可以想到投票页面是这样做的:
我有兴趣了解两种可能性如何工作以及如何在C#中实现这一点.提前致谢.哦,我希望杰夫看到这个问题,因为他可能会有一个很好的答案......
我正在玩Google Maps API(v3),我遇到了标记图标的问题.我正在尝试根据各自的数据属性改变标记的大小.
图标本身是一个精灵,包含三个不同的圆形标记,每个16px乘16px.我正在尝试扩展单个图标,但到目前为止还没有成功.
这是我的代码:
var offset = Math.floor(Math.random() * 3) * 16; // pick one of the three icons in the sprite
// Calculate desired pixel-size of the marker
var size = Math.floor(4*(count-1) + 8);
// Create custom marker
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
icon: new google.maps.MarkerImage(
'img/dot.png', // my sprite with 3 circular icons
new google.maps.Size(16, 16), // 16x16 is the original size of each individual icon
new google.maps.Point(0, offset), // picking …Run Code Online (Sandbox Code Playgroud) 我正在构建一个ASP.NET MVC站点,我想限制经过身份验证的用户使用该站点的某些功能的频率.
虽然我从根本上理解了速率限制是如何工作的,但我无法想象如何以编程方式实现它而不会产生主要的代码气味.
你能用C#示例代码指出一个简单而强大的解决方案来解决这个问题吗?
如果重要,所有这些功能目前都表示为仅接受的动作HTTP POST.我可能最终也希望对HTTP GET函数实现速率限制,所以我正在寻找适用于所有这些情况的解决方案.
我正在使用TortoiseHG,我正在尝试处理重命名的文件.不幸的是,我不小心点击Accept Match了其中一个文件并想要撤消它.如何在不伤害我正在尝试提交的文件的情况下这样做?
c# ×7
.net ×2
asp.net ×2
asp.net-mvc ×2
code-golf ×1
cookies ×1
delete-file ×1
gis ×1
google-maps ×1
image ×1
javascript ×1
limit ×1
lucene ×1
lucene.net ×1
mercurial ×1
openstv ×1
setcookie ×1
string ×1
timeout ×1
tortoisehg ×1
using ×1
voting ×1
windows ×1