我遇到了一个非常讨厌的问题,我希望这只是我错过的一个设置.我有一个ASP.NET应用程序,允许用户在不同的地方输入他们的用户名/密码(例如登录,更改密码,更改用户名等).当我登录时,浏览器询问我是否要存储用户详细信息.通常,我点击"否",但这次我决定点击"是".现在,我的表单中的某些文本框预先填入了用户名或密码.是否可以删除它们,因为它们有时会出现在不应预先填充的文本框中.我尝试过设置AutoCompleteType=none,Text=''但它仍然预先填充.除了相同的文本框CssClass和密码框之外,文本框没有多少共同之处TextMode=password.名称不同,但有时它们包含单词name(例如fullName,userName).有没有办法阻止浏览器填充某些文本框?
谢谢
我一直在运行XP home的旧机器上开发一个ASP.NET站点.我最近得到了一台新的Win 7 PC,并将我的所有项目文件都移动了.当我尝试运行该项目时,我收到以下错误消息:
"Failed to decrypt using provider 'MyRsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened."
我意识到我使用a加密了我的web.config文件的一部分RSA encryption.这就是现在问题所在.我不确定如何再次使用该键,以便我可以在我的新机器上使用它.我从旧机器导出密钥并使用以下方法导入它:
aspnet_regiis -pi "RSAProviderName" "C:\RSA_configkey.xml"
这是成功导入的.然后我运行了该项目,但出现了相同的错误消息.我认为这可能是一个许可的事情,所以我跑了:
aspnet_regiis -pa "RSAProviderName" "\Desktop" -full
这也很成功,但我仍然得到错误.从阅读,我看到人们使用"ASPNET"而不是"\桌面"(桌面是我的机器名称).但是,当我尝试使用"ASPNET"时,我得到:
No mapping between account name and security IDs was done. <Exception from HRESULT = 0x80070534
在修复之前我无法完成项目,因此非常感谢任何帮助.谢谢!
什么是处理错误的最佳方法,例如
从客户端检测到一个潜在危险的Request.Form值"
在ASP.NET中?
我想保持验证,因为我的表单没有正当理由允许HTML字符.但是,我不太确定如何以更友好的方式处理此错误.我尝试在一个处理它,Page_Error但据我所知,这发生在较低级别的部分,所以该Page_Error功能永远不会触发.
因此,我可能不得不求助于Application_Error在我的Global.asax文件中使用.如果这是处理该错误的唯一方法,有没有办法专门处理这个错误?我不想以同样的方式处理所有应用程序错误.
谢谢
我正在尝试使用HttpWebRequest发送GET请求.
我在网上找到了很多例子(例如,这一个 ......只是简单介绍一下这个Scrape()方法).他们基本上都做同样的事情:
HttpWebRequest使用WebRequest.Create(URL)创建一个对象并将其强制转换为HttpWebRequest,然后使用该GetResponse()方法获取响应HttpWebRequest.
事情GetResponse()似乎并不存在于任何一个HttpWebRequest或WebRequest(它是它的基类).我唯一的选择是使用BeginGetResponse().
我发现的唯一的事情GetResponse()是同步,而BeginGetResponse()异步,Silverlight只允许异步.嗯,这对我没有任何帮助,因为整个事情是一个XNA项目,这是我在里面创建的一个简单的C#类.
更确切地说,这是一款在XNA 4.0中创建的Windows Phone游戏
HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest;
StreamReader responseReader = new StreamReader(
webRequest.GetResponse().GetResponseStream());
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么我没有GetResponse()?
我有各种各样的方法,在继续自己的实现之前都需要执行相同的功能.现在我可以在每种方法中实现这些功能,但我想知道是否有办法利用它attributes来做到这一点?作为一个非常简单的示例,所有网络呼叫都必须检查网络连接.
public void GetPage(string url)
{
if(IsNetworkConnected())
...
else
...
}
Run Code Online (Sandbox Code Playgroud)
这可行,但我必须为IsNetworkConnected使用网络的每个方法调用该方法并单独处理它.相反,我想这样做
[NetworkCall]
public void GetPage(string url)
{
...
}
Run Code Online (Sandbox Code Playgroud)
如果网络不可用,则会调用错误方法,但会GetPage被忽略,否则会GetPage被调用.
这听起来非常像Aspect Orientated Programming,但我不想为几个调用实现整个框架.这更像是一个学习练习而不是实现练习,所以我很好奇这样的事情是如何最好地实现的.
该String.Contains方法内部应该是这样
public bool Contains(string value)
{
return this.IndexOf(value, StringComparison.Ordinal) >= 0;
}
Run Code Online (Sandbox Code Playgroud)
IndexOf调用的重载看起来像这样
public int IndexOf(string value, StringComparison comparisonType)
{
return this.IndexOf(value, 0, this.Length, comparisonType);
}
Run Code Online (Sandbox Code Playgroud)
这里再次调用最终重载,然后CompareInfo.IndexOf使用签名调用相关方法
public int IndexOf(string value, int startIndex, int count, StringComparison comparisonType)
Run Code Online (Sandbox Code Playgroud)
因此,调用最终的重载将是最快的(尽管在大多数情况下可以被认为是微优化).
我可能会遗漏一些明显的东西,但为什么该Contains方法不会直接调用最终的重载,因为在中间调用中没有进行其他工作,并且在两个阶段都可以获得相同的信息?
唯一的好处是,如果最终过载的签名发生变化,只需要进行一次更改(中间方法的更改),或者设计是否还有更多?
从评论中编辑(有关速度差异说明,请参阅更新2)
为了澄清的性能差异我得到的情况下,我犯了一个错误的地方:我跑这个基准测试(循环5次,以避免抖动偏差),并使用该扩展方法来比较的String.Contains方法
public static bool QuickContains(this string input, string value)
{
return input.IndexOf(value, 0, input.Length, StringComparison.OrdinalIgnoreCase) >= 0;
}
Run Code Online (Sandbox Code Playgroud)
循环看起来像这样
for (int i = 0; i < 1000000; i++) …Run Code Online (Sandbox Code Playgroud) 我正在开发一个ASP.NET Web应用程序,并希望用户能够从本地系统上传图像,或者将URL传递给图像.图像可以是JPG或PNG.这样做我应该关注哪些安全问题?我已经看到了在JPG文件中嵌入代码的各种方法.C#(或外部库)中是否有任何方法可以确认文件是JPG/PNG,否则会抛出错误?至少,我正在制作保存上传图像不可浏览的目录,并将最大大小限制为1mb,但我想实施进一步的检查.
谢谢你的建议.
我以前没有Queues<T>任何真正的学位,所以我可能会遗漏一些明显的东西.我试图迭代Queue<EnemyUserControl>这样(每一帧):
foreach (var e in qEnemy)
{
//enemy AI code
}
Run Code Online (Sandbox Code Playgroud)
当敌人死亡时,敌方用户控制会引发我订阅的事件并执行此操作(队列中的第一个敌人被设计删除):
void Enemy_Killed(object sender, EventArgs e)
{
qEnemy.Dequeue();
//Added TrimExcess to check if the error was caused by NULL values in the Queue (it wasn't :))
qEnemy.TrimExcess();
}
Run Code Online (Sandbox Code Playgroud)
然而,出列方法被调用后,我得到InvalidOperationException的foreach循环.当我使用时Peek,没有错误,所以它必须对Queue本身的更改做一些事情,因为Dequeue删除了对象.我最初的猜测是,它正在抱怨我正在修改一个由Enumerator迭代的集合,但是这个集合是在循环之外执行的吗?
可能导致此问题的任何想法?
谢谢
我想知道是否有办法将文本语音数据保存为mp3或Wav文件格式以便以后播放?
SpeechSynthesizer reader = new SpeechSynthesizer();
reader.Rate = (int)-2;
reader.Speak("Hello this is an example expression from the computers TTS engine in C-Sharp);
Run Code Online (Sandbox Code Playgroud)
我试图将其保存在外部,以便我可以稍后再播放.做这个的最好方式是什么?
我学习Windows Phone编程.自从我获得Lumia 610(WP7.8)以来,我用7.1 SDK编写.问题是我希望我的应用程序使用箭头符号连接字符串,该符号以Segoe UI Symbol字体提供.但是当我尝试以编程方式强制程序使用Segoe UI字体时,它不起作用(它只显示 2708;字符串).当我强迫使用例如Comic Sans MS时 - 没有问题.
this.lExercise.Text = "zxcv";
this.lExercise.Inlines.Add(new Run()
{
Text = "✈",
FontFamily = new FontFamily("Segoe UI Symbol")
});
this.lExercise.Inlines.Add(new Run() { Text = " asdf", FontSize = 36 });
Run Code Online (Sandbox Code Playgroud)
任何想法赞赏:)
c# ×7
asp.net ×4
.net ×1
aop ×1
architecture ×1
attributes ×1
autocomplete ×1
contains ×1
details ×1
http ×1
image ×1
oop ×1
permissions ×1
queue ×1
reflection ×1
security ×1
silverlight ×1
string ×1
textbox ×1
xna ×1