我正在开发一个专有的库,我遇到了缓存的一些问题HttpWebRequest.该库使用与下面相同的代码来发出请求:
var request = WebRequest.Create("http://example.com/") as HttpWebRequest;
request.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.CacheIfAvailable);
Run Code Online (Sandbox Code Playgroud)
尽管每个响应都不同,但外部资源不会禁止缓存.因此,我每次都得到相同的回应.
有没有办法清除HttpWebRequest缓存的内容?正确的解决方案是修复外部源或者更改缓存策略,但两者都不可能 - 因此问题.
清除高速缓存可能具有各种影响,因此优选地,解决方案是基于每个资源使高速缓存无效.
我需要从文本文件中删除某一行.这样做最有效的方法是什么?文件可能很大(超过百万条记录).
更新:下面是我正在使用的代码,但我不确定它是否好.
internal void DeleteMarkedEntries() {
string tempPath=Path.GetTempFileName();
using (var reader = new StreamReader(logPath)) {
using (var writer = new StreamWriter(File.OpenWrite(tempPath))) {
int counter = 0;
while (!reader.EndOfStream) {
if (!_deletedLines.Contains(counter)) {
writer.WriteLine(reader.ReadLine());
}
++counter;
}
}
}
if (File.Exists(tempPath)) {
File.Delete(logPath);
File.Move(tempPath, logPath);
}
}
Run Code Online (Sandbox Code Playgroud) 我想将现有的ASP.NET应用程序迁移到ASP.NET MVC模式格式.我应该遵循什么程序?任何分步说明都会非常有用.
我正在开发一个ASP.NET MVC项目,我们决定使用Fluent nHibernate进行数据访问.为了实现松耦合,我们采用IoC/DI模式.我的问题是IoC工具的用途.我试图找到windsor,ninject,spring,structuremap和unity之间的差异,但是很难看出每个人都能提供的好处.你有什么经历?
asp.net-mvc dependency-injection inversion-of-control fluent-nhibernate
鉴于以下代码:
using(var data = new SomeDataContext(ConnectionString))
{
data.ObjectTrackingEnabled = false;
foreach(Something in data.Somethings)
someList.Add(something.SomeProperty);
}
Run Code Online (Sandbox Code Playgroud)
将对象跟踪设置为false是否值得?我知道这只是一行代码,但是我不得不一直写它.但是我听说你可以通过在不需要的时候转动它来获得一些性能提升.由于我只需要快速读出一些数据,我不需要跟踪.但是这么一小段代码值得吗?你有什么意见?我应该用吗?我不应该吗?为什么?
我在不同的文件中有3个类:
X
|
-------
| |
Y Z
Run Code Online (Sandbox Code Playgroud)
我将创建几个继承类Y和Z的对象.
只有当某个标志变量由类Y设置时,才应执行Z类中的特定函数.
我应该在哪里创建这个标志变量(哪个类)和声明应该是什么样的(静态/外部)?
有时我完全被愚弄试图用O(x)表示法来估计算法的速度,我的意思是,当命令是O(n)或O(mxn)时我真的可以指出,但对于那些是O(lg( n))或O(C(权力n))我认为我在那里遗漏了一些东西......那么,对于一个简单的估计而言,你有什么提示和技巧可以快速忽略算法?
作为我正在寻找的一个例子,这里有一些容易的(可能是错的,但我尽力):
提前致谢.
并发同事.
我需要能够捕获可能从后台线程抛出的异常.
让代码说明一下(这是一个糟糕的代码)
public delegate bool CheckForUpdatesHandler(Uri uri);
public class UpdatesChecker {
public event AsyncCompletedEventHandler CheckForUpdatesAsyncCompleted;
protected virtual void OnCheckForUpdatesAsyncCompleted(AsyncCompletedEventArgs args) {
if (CheckForUpdatesAsyncCompleted != null)
CheckForUpdatesAsyncCompleted(this, args);
}
public bool CheckForUpdates(Uri ftp) {
Thread.Sleep(1000);
throw new Exception("bla");
return true;
}
public void CheckForUpdatesAsync(Uri ftp){
var action = new CheckForUpdatesHandler(CheckForUpdates);
var c=action.BeginInvoke(ftp, delegate(IAsyncResult state) {
OnCheckForUpdatesAsyncCompleted(new AsyncCompletedEventArgs(null, false, null));
}, null);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试为数据库记录构建一个"编辑"页面,该页面可以编辑并保存回数据库.其中一个字段是多选列表框,需要在加载时突出显示硬编码列表中的相应列表项.
使用C#,如何根据数据库字段中逗号分隔的字符串填充多选列表框 - 选择适当的项目?我已经研究了一些涉及循环的解决方案,但我无法让他们使用我有限的C#技能组.
在我遇到困难之前,这就是我现在所拥有的一切.您会看到它没有考虑字符串中的多个值.是否有像"包含"这样的函数,我可以查看该值是否匹配?我仍然缺少一些(可能是基本的)C#逻辑和编码.
int i;
for (i = 0; i <= CATEGORYListBox.Items.Count - 1; i++)
{
if (reader["CATEGORY"].ToString() == CATEGORYListBox.Items(i).Value)
{
CATEGORYListBox.Items(i).Selected = True;
}
}
Run Code Online (Sandbox Code Playgroud)
...
<asp:ListBox ID="CATEGORYListBox" runat="server">
<asp:ListItem Value="Circulation">Circulation</asp:ListItem>
<asp:ListItem Value="Interactive Media">Interactive Media</asp:ListItem>
<asp:ListItem Value="Classified">Classified</asp:ListItem>
<asp:ListItem Value="Publishing">Publishing</asp:ListItem>
<asp:ListItem Value="Editorial">Editorial</asp:ListItem>
<asp:ListItem Value="Retail">Retail</asp:ListItem>
</asp:ListBox>
Run Code Online (Sandbox Code Playgroud)
感谢大家.
它从这个问题开始,接着是这个问题,现在又引发了现在的问题.:)
任务如下:制作一个Windows程序,在有限的环境中运行另一个程序.另一个程序不可信任,因此它必须为hackish代码做好准备.进一步来说:
Sleep()无限制.这将是计算奥林匹克支持软件所必需的.该程序将在中央服务器上运行参与者提交的内容,因此您可以期待任何相关内容.崩溃将是常规的,并且也可以预期一些黑客攻击.
那么 - 你将如何制作这样的节目?你会用什么?在之前的主题(见上文)中,很明显附加作为调试器是一个坏主意,尽管我可能只是太笨拙了.
c# ×4
performance ×3
asp.net-mvc ×2
.net ×1
algorithm ×1
asp.net ×1
big-o ×1
c++ ×1
caching ×1
class ×1
database ×1
file-io ×1
inheritance ×1
linq-to-sql ×1
listbox ×1
migrate ×1
multi-select ×1
object ×1
webforms ×1
windows ×1