我需要手动删除身份验证cookie(而不是使用FormsAuthentication.SignOut whcih由于某些原因不起作用).我试过了
System.Web.HttpContext.Request.Cookies.Remove(cookieName); // for example .ASPXAUTH
System.Web.HttpContext.Response.Cookies.Remove(cookieName); // for example .ASPXAUTH
FormsAuthentication.SignOut(); // I don't know why this one does not work
Run Code Online (Sandbox Code Playgroud)
这些命令都不起作用.事实上,响应cookie是空的,请求cookie包含我想删除的cookie,当执行以下命令它不再包含我删除的cookie但在浏览器中cookie仍然存在,我能够做的事情授权用户甚至可以退出.
我不再使用Integration Services了.是否可以有一个数据源将数据传输到多个数据目标,或者我是否必须创建与目标一样多的源.我有一个包含一些数据的CSV文件,我必须将这些数据分发到不同的表.
所以我有以下代码
private async void button1_Click(object sender, EventArgs e)
{
await DoSomethingAsync();
MessageBox.Show("Test");
}
private async Task DoSomethingAsync()
{
for (int i = 0; i < 1000000000; i++)
{
int a = 5;
}; // simulate job
MessageBox.Show("DoSomethingAsync is done");
await DoSomething2Async();
}
private async Task DoSomething2Async()
{
for (int i = 0; i < 1000000000; i++)
{
int a = 5;
} // simulate job
MessageBox.Show("DoSomething2Async is done");
}
Run Code Online (Sandbox Code Playgroud)
直到两个MessageBox都显示为主线程是块(我的意思是应用程序本身被冻结).我的代码显然有问题,我无法弄清楚是什么.我以前从未使用async/await.这是我的第一次尝试.
编辑:
实际上我想要做的是DoSomethingAsync异步启动Execution,这样当单击按钮时,MessageBox.Show("Test");即使DoSomethingAsync不完整也会执行.
所以我在C#中编写了以下代码.
class Test
{
int a;
System.IO.StreamReader reader;
public Test()
{
a = 5;
reader = new System.IO.StreamReader(String.Empty);
}
}
Run Code Online (Sandbox Code Playgroud)
IL中类的构造函数看起来像这样
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 33 (0x21)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: ldarg.0
IL_0009: ldc.i4.5
IL_000a: stfld int32 Test2.Test::a
IL_000f: ldarg.0
IL_0010: ldsfld string [mscorlib]System.String::Empty
IL_0015: newobj instance void [mscorlib]System.IO.StreamReader::.ctor(string)
IL_001a: stfld class [mscorlib]System.IO.StreamReader Test2.Test::reader
IL_001f: nop
IL_0020: ret
} // …Run Code Online (Sandbox Code Playgroud) 我有一个id为的按钮,btnAdd我希望在某些事件被触发时禁用它.某些窗口关闭时会发生该事件.所以我尝试了以下代码,但它不起作用.
Ext.create('Ext.window.Window', {
// Some initialization code goes here...
listeners: {
close: function(panel, eOpts){
Ext.get('btnAdd').disable(); // this does not work;
Ext.get('btnAdd').setDisabled(); // this one does not either
Ext.get('btnAdd').disabled = true; // And this one also seems to do nothing
}
}
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?这可能看起来很容易,但不要判断我的不好.我对Ext JS很新.我也无法在API文档中找到答案.
我有3个表叫做table1 table2和table3.在table3包含具有记录table1.id和table2.id等一些列也是如此.所以我需要做以下事情.对于表1中的每条记录,我需要查看table3中是否有一行包含table1.id和任何其他table2.id如果没有这样的记录我想插入它.
所以这是一个例子.
假设table1
1 ... ... ...
2 ... ... ...
Run Code Online (Sandbox Code Playgroud)
表2
10 .. .. ..
20 .. .. ..
Run Code Online (Sandbox Code Playgroud)
表3
1 | 10 .. .. ..
2 | 20 .. .. ..
Run Code Online (Sandbox Code Playgroud)
我需要补充一下
1 20 .. .. ..和
2 10 .. .. ..行3到table3因为table1.id1它没有所有table2.ids 的行(在这种情况下是20)和table1.id2它也没有所有table2.ids(在这种情况下为10)的行.任何帮助,将不胜感激
所以这是我的代码
Task<int[]> parent = Task.Run(() =>
{
var result = new int[3];
TaskFactory tf = new TaskFactory(TaskCreationOptions.AttachedToParent, TaskContinuationOptions.ExecuteSynchronously);
for (int i = 0; i < result.Length; i++)
{
int j = i;
tf.StartNew(() => result[j] = GetRandomNumber(j));
}
return result;
});
var finalTask = parent.ContinueWith(parentTask =>
{
foreach (var i in parentTask.Result)
{
Console.WriteLine(i);
}
});
finalTask.Wait();
Run Code Online (Sandbox Code Playgroud)
基本上我创建3 Tasks,这是Task被叫父母的孩子(我猜).我要求父任务等待所有三个子任务完成.之后,由于finalTask这种状态,将等待执行finalTask.Wait();.但事情并没有像预期的那样发生.我的意思是应用程序在任何GetRandomNumber调用完成之前退出.这里的代码的某些部分是从书中复制的,该书表明那些父任务应该等待子任务完成,这显然没有发生.我在这里错过了什么吗?
这就是GetRandomNumber所做的
public static int GetRandomNumber(int ii)
{
Random rand = new Random(); …Run Code Online (Sandbox Code Playgroud) 我的申请中有这个奇怪的问题.它很少发生一次,也可能一周发生两次.所以基本上是这样的情况:
我在我的应用程序中有这个方法,它多次查询DB,首先有4个选择,其中一个使用关键字,UPDLOCK然后插入到另一个表(不是UPDLOCK应用的那个)和表上的更新以前是UPDLOCK.
所有这些查询都在一个事务中完成(位于.NET的一侧),最后得到了COMMIT-ed.
现在,问题是transaction.Commit()抛出异常消息
超时已过期.操作完成之前经过的超时时间或服务器没有响应
(我估计SqlConnection超时).
所以我将整个过程包装在一个try-catch块中,如果发生异常,我会尝试回滚事务,所以当发生这种情况时,代码执行会进入catch阻塞并被transaction.RollBack()调用,它也会抛出异常消息
这个SqlTransaction已经完成.它不再可用
(因为我猜当COMMIT事务的实际时间实际上得到了COMMIT),所以在这之后应用程序的某些部分会混乱.被认为不存在的东西(因为ROLLBACK)实际存在并导致一些意想不到的问题然后手动修复(此时).
我找不到任何可以指出问题所在的东西,而不是增加超时SqlConnection.如果有人在您分享经验之前已经处理过这个问题,请提前感谢.(DB Server CPU利用率永远不会超过45-50%,大多数情况下它的空闲率为3-15%)
这是第一个Sql Select --First Select
SELECT TOP 1
t.Id ,
t.OId ,
t.Amount ,
t.DUserId,
t.StartDate ,
t.ExtDesc,
t.StatusId
FROM dbo.[Transaction] t
JOIN dbo.Wallet cw ON t.CId = cw.Id
JOIN dbo.Wallet dw ON t.DId = dw.Id
WHERE ExtKey = @ExtKey
AND ( cw.vId …Run Code Online (Sandbox Code Playgroud) 所以,我有grid这显然有一些store和beforerender事件我想改变电网的店吗?我能这样做吗?如果有,怎么样?
假设我有以下代码
class Base
{
public Base()
{
throw new SomeKindOfException();
}
}
class Derived : Base
{
}
Run Code Online (Sandbox Code Playgroud)
并假设我实例化Derived类.
Derived d = new Derived();
Run Code Online (Sandbox Code Playgroud)
为了Derived实例化Base类,应该首先对类进行实例化吗?所以有任何理论或实际方法来捕获派生类构造函数中从基类构造函数抛出的异常.我想没有,但我只是好奇.
c# ×6
.net ×2
extjs ×2
asp.net-mvc ×1
async-await ×1
cil ×1
commit ×1
inheritance ×1
sql ×1
sql-server ×1
ssis ×1
t-sql ×1
transactions ×1