小编Don*_*Don的帖子

FormsAuthenticationTicket.expiration v web.config值超时

这是一个MVC2网站,我遇到了FormsAuthentication票证的问题.30分钟后用户超时无法重新登录.在测试期间,DateTime.Now.AddMinutes(30)值设定为5000,一切正常,但是现在改为30,这是再当问题开始

从cookie创建

 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
            1,
            user.UserID,
            DateTime.Now,
            DateTime.Now.AddMinutes(30),
            false,
            "user,user1",
            FormsAuthentication.FormsCookiePath);
Run Code Online (Sandbox Code Playgroud)

Web.config文件

<authentication mode="Forms">
  <forms loginUrl="~/Account.mvc/LogOn" timeout="2880" name=".ASPXFORMSAUTH" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

票证创建中的到期值是否必须> = web.config值?

c# cookies formsauthentication formsauthenticationticket asp.net-mvc-2

13
推荐指数
1
解决办法
9492
查看次数

INERE(SELECT NonExistingColumnName)导致意外行为

我最近遇到过一种情况,我需要从表中删除一些行并错误拼写列名.没有抛出错误,所有行都从表中删除.这是一个重现问题的脚本.

有一个Order表,其中包含四个OrderID订单.有一个带有一个ItemID的LIST_TO_DELETE表.

我应该用过

DELETE TOP(1) FROM #Orders WHERE OrderID IN (SELECT ItemID FROM #LIST_TO_DELETE  )
Run Code Online (Sandbox Code Playgroud)

相反,我用过

DELETE TOP(1) FROM #Orders WHERE OrderID IN (SELECT OrderID FROM #LIST_TO_DELETE  )
Run Code Online (Sandbox Code Playgroud)

这导致#Orders表中的所有行都被删除,当我只想删除一行时.

CREATE TABLE #Orders (OrderID INT, OrderName VARCHAR(100))
INSERT INTO #Orders(OrderID, OrderName) VALUES (1,'Order One'),(2,'Order Two'),(3,'Order Three'), (4,'Order Four')

CREATE TABLE #LIST_TO_DELETE (ItemID INT);INSERT INTO #LIST_TO_DELETE(ItemID) VALUES (1)

DECLARE @rowcount INT = 1
WHILE @rowcount > 0 
BEGIN
    DELETE TOP(1) FROM #Orders WHERE OrderID IN (SELECT OrderID FROM #LIST_TO_DELETE  )
    SET @rowcount …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008

6
推荐指数
2
解决办法
94
查看次数