这个问题不是关于何时一般使用GET或POST; 它是关于处理Web应用程序注销的推荐方法.我已经在一般意义上找到了关于GET和POST之间差异的大量信息,但我没有找到这个特定场景的明确答案.
作为一个实用主义者,我倾向于使用GET,因为实现它比POST更简单; 只需删除一个简单的链接就可以了.这似乎是我能想到的绝大多数网站的情况,至少从头脑中可以看出来.甚至Stack Overflow也可以使用GET进行注销.
让我犹豫不决的是(尽管很老)一些论点,即一些网络加速器/代理通过访问和检索他们在页面中找到的每个链接来预先缓存页面,因此用户在点击它们时会得到更快的响应.我不确定这是否仍然适用,但如果是这种情况,那么从理论上讲,一旦有用这种加速器的用户在登录后就会被赶出应用程序,因为她的加速器会找到并检索注销链接,即使她从未点击过它.
到目前为止我所阅读的所有内容都建议POST应该用于"破坏性操作",而不改变应用程序内部状态的操作(如查询等)应该用GET处理.基于此,这里真正的问题是:
从应用程序注销被视为破坏性操作/是否会改变应用程序的内部状态?
在这种情况下,MAX只有5,所以我可以逐个检查重复,但我怎么能以更简单的方式做到这一点?例如,如果MAX的值为20,该怎么办?谢谢.
int MAX = 5;
for (i = 1 , i <= MAX; i++)
{
drawNum[1] = (int)(Math.random()*MAX)+1;
while (drawNum[2] == drawNum[1])
{
drawNum[2] = (int)(Math.random()*MAX)+1;
}
while ((drawNum[3] == drawNum[1]) || (drawNum[3] == drawNum[2]) )
{
drawNum[3] = (int)(Math.random()*MAX)+1;
}
while ((drawNum[4] == drawNum[1]) || (drawNum[4] == drawNum[2]) || (drawNum[4] == drawNum[3]) )
{
drawNum[4] = (int)(Math.random()*MAX)+1;
}
while ((drawNum[5] == drawNum[1]) ||
(drawNum[5] == drawNum[2]) ||
(drawNum[5] == drawNum[3]) ||
(drawNum[5] == drawNum[4]) )
{
drawNum[5] = (int)(Math.random()*MAX)+1; …
Run Code Online (Sandbox Code Playgroud) 在WinForms中,如何从UI线程强制立即更新UI?
我正在做的大致是:
label.Text = "Please Wait..."
try
{
SomewhatLongRunningOperation();
}
catch(Exception e)
{
label.Text = "Error: " + e.Message;
return;
}
label.Text = "Success!";
Run Code Online (Sandbox Code Playgroud)
在操作之前,标签文本未设置为"Please Wait ...".
我使用另一个线程进行操作解决了这个问题,但它变得毛茸茸,我想简化代码.
不久前,当我学习Javascript时,我研究了Javascript:好的部分,我特别喜欢关于坏和丑陋部分的章节.当然,我并不同意所有内容,因为总结编程语言的设计缺陷在某种程度上是主观的 - 尽管如此,我想每个人都会同意这个关键字with
在Javascript中是个错误.尽管如此,我发现阅读此类评论很有用:即使有人不同意,也有很多需要学习的地方.
是否有博客文章或一些描述Python设计错误的书籍?例如,我猜有些人会认为缺少尾调优化是一个错误; 可能还有其他值得学习的问题(或非问题).
何时实施IDisposable的最佳做法是什么?
如果在类中有一个托管对象,那么实现它是最好的经验法则,还是依赖于对象是在类中创建还是只是传入?我是否也应该为没有托管对象的类做到这一点?
正如标题所说.我不相信这样做是可能的,但如果是让我知道的话.
这是我正在写的bukkit(我的世界服务器)插件所需要的.我想接受一个命令:tnt [power].power是返回的字符串,我想转换为float.
谢谢
我是一名试图学习C#的PHP网络程序员.
我想知道为什么C#要求我在创建变量时指定数据类型.
Class classInstance = new Class();
Run Code Online (Sandbox Code Playgroud)
为什么我们需要在类实例之前知道数据类型?
我正在将.vcproj从VS2005转换为VS2010但转换后却给出了下面提到的错误.
附加信息:混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.附加信息:混合模式程序集是针对运行时版本的"v2.0.50727"构建的如果没有其他配置信息,则无法在4.0运行时加载.
然后我在我的项目中添加了app.config文件,并在我的文件中添加了下面提到的信息,但它仍然给出了同样的错误.
任何人都可以帮我解决上述问题.
为什么我允许Nothing
在VB.NET中分配值类型:
Dim x as Integer = Nothing
Run Code Online (Sandbox Code Playgroud)
但我不允许null
在C#中分配:
int x = null;
Run Code Online (Sandbox Code Playgroud) we have a piece of code which generates a zip file on our system. Everything is ok, but sometimes this zip file while opened by FilZip or WinZip is considered to be corrupted.
So here is my question: how can we check programatically if a generated zip file is corrupted?
Here is the code we are using to generate our zip files:
try {
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(tmpFile));
byte[] buffer = new byte[16384];
int contador = -1;
for …
Run Code Online (Sandbox Code Playgroud)