为什么我在使用Visual Studio 2010的C#中收到此警告?
"Unreachable expression code detected"
Run Code Online (Sandbox Code Playgroud)
从以下代码(DateTime.Now绿色波浪形下划线):
public DateTime StartDate
{
get
{
DateTime dt = (DateTime)ViewState["StartDate"];
return ((dt == null) ? DateTime.Now : dt);
}
}
Run Code Online (Sandbox Code Playgroud) 如果我从一个网络文件夹启动我的应用程序,我没有得到一个对话框.
但是,如果我将我的应用程序复制到另一个网络文件夹,并尝试启动它,我会看到如下所示的"打开文件 - 安全警告"对话框:

如果你谷歌:
您会遇到有关Intranet与Internet区域,注册表编辑,组策略更改甚至Microsoft Access的页面.
如果可能的话,我不想处理任何这些问题.我需要解决方案来处理将从网络启动此应用程序的100台计算机,并且我无法对每台计算机进行系统更改.
1.如果我从某些网络文件夹而不是其他网络文件夹启动,为什么我会收到该对话框
2.如何防止该对话框弹出?
如果适用,请提及多种可能性.
我对VBScript中的变量范围有疑问.我知道有以下关键字(来自autoitscript.com):
想象一下,我有以下.vbs文件:
Dim strPath
strPath = "C:\folder"
DisplayPath strPath
Sub DisplayPath(strPath) 'Does this strPath get it's own local scope?
MsgBox strPath
End Sub
Run Code Online (Sandbox Code Playgroud)
在功能:DisplayPath(strPath)是strPath一个局部变量?或者函数/ subs是否可以访问strPath脚本主要部分顶部定义的全局变量?
另外,Dim在我使用它们时明确使用而不仅仅定义变量有什么意义,这在脚本语言中是可能的?
我在Visual Studio 2008中收到以下错误:
Error 1 A local variable named 'i' cannot be declared in this scope because it would give a different meaning to 'i', which is already used in a 'child' scope to denote something else
这是我的代码:
for (int i = 0; i < 3; i++)
{
string str = "";
}
int i = 0; // scope error
string str = ""; // no scope error
Run Code Online (Sandbox Code Playgroud)
我知道str一旦循环终止就不再存在,但我也认为范围i也局限于for循环.
那么i与在for循环之外声明的变量具有相同的范围吗? …
我有一个C#.NET 控制台应用程序,使用它发送电子邮件SmtpClient.
我在下面的代码中遇到以下行为:

为什么我的断点跳了?
这条消息是什么意思?
我的代码有什么问题吗?
(这是关于Stackoverflow的另一个类似的问题.可能是同样的事情,但它是ASP.NET)
Per Hans Passants的提示如下.
此版本仍允许竞争条件:Timer.AutoReset在我的计时器的事件处理程序中切换属性,以避免代码运行时重新进入.
private void OnTimerElapsed(object source, ElapsedEventArgs e)
{
timer.AutoReset = false; // prevent another Elapsed event
MyClass.SendMail(smtpServer, account, password); // do stuff
timer.AutoReset = true; // allow another Elapsed event
}
Run Code Online (Sandbox Code Playgroud)
最终版本:初始化AutoReset已设置为false 的计时器,然后Timer.Start()在Elapsed事件处理程序结束时再次调用.
public void Start()
{
timer = new Timer(checkInterval);
timer.Elapsed += new ElapsedEventHandler(OnTimerElapsed);
timer.AutoReset = false; // …Run Code Online (Sandbox Code Playgroud) 我正在为之工作的公司目前正在使用存储过程(在MsSQL服务器后端)作为其业务逻辑层.实际的业务逻辑DLL只调用sProcs并基本上管理UI(事件,数据绑定等)
我觉得设置有问题,虽然我不确定如何向同事解释.顺便说一句,系统工作.
我工作场所的"最佳实践"是错误的吗?或者我只是过度思考这个?
我希望Button控件的属性IsEnabled="False"直到将值输入到a TextBox中Window.
代码到目前为止:
<Button
Content="Click Me"
Name="ClickMe"
VerticalAlignment="Top"
Click="ClickMe_Click">
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=textBox, Path=Length}"
<!-- or even: Binding="{Binding Path=textBox.Length}" -->
Value="0">
<Setter
Property="Button.IsEnabled"
Value="false" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Run Code Online (Sandbox Code Playgroud)
此外,是否可以将此Button控件的IsEnabled属性基于3个TextBox具有值的不同控件?
目前,我的应用程序在第一次启动应用程序时自动加密自己的App.config文件.
我正在使用ConfigurationManager本文中演示的类:
现在我希望在应用程序第一次启动之前已经加密了App.config.
原因是我在我的解决方案中添加了一个安装程序,而且我不希望安装程序丢弃未加密的App.config.我希望这个过程是自动化的.
(到目前为止我唯一提到的是将.exe附加到Post-Build事件中,但是不是更直接的方式吗?)
好吧,这看起来很愚蠢,但在ASP.NET .ascx控件上,我正在尝试使用:
<input type="button" runat="server" />
Run Code Online (Sandbox Code Playgroud)
代替:
<asp:Button runat="server" />
Run Code Online (Sandbox Code Playgroud)
它对我不起作用.这段代码:
<asp:Button id="btnBuyCat" runat="server" Text="Buy Cat"
ToolTip="Click to buy a cat" OnClick="btnBuyCat_Click" EnableViewState="false" />
Run Code Online (Sandbox Code Playgroud)
呈现以下HTML :( 忽略命名容器btw)
<input type="submit" id="btnBuyCat" name="btnBuyCat" value="Shopping Cart"
title="Click to buy a cat" />
Run Code Online (Sandbox Code Playgroud)
这主要是罚款,但我想input type="button"不会input type="submit".
我试过这段代码:
<input type="button" id="btnBuyCat" name="btnBuyCat" runat="server"
value="Buy Cat" title="Click to buy a cat" onclick="btnBuyCat_Click"
enableviewstate="False" />
Run Code Online (Sandbox Code Playgroud)
并获取此HTML:
<input type="button" id="btnBuyCat" name="btnBuyCat"" value="Buy Cat"
title="Click to buy a cat" onclick="btnBuyCat_Click" />
Run Code Online (Sandbox Code Playgroud)
不幸的是,渲染按钮不起作用.此外,我甚至试图input type="submit"检查,但除非我使用 …
我有一个SQL Server 2005数据库,我尝试在适当的字段上放置索引,以便DELETE从具有数百万行(big_table只有3列)的表中加速记录,但现在DELETE执行时间更长!(例如1小时对比13分钟)
我和表之间有关系,我过滤的列DELETE在另一个表中.例如
DELETE FROM big_table
WHERE big_table.id_product IN (
SELECT small_table.id_product FROM small_table
WHERE small_table.id_category = 1)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我也尝试过:
DELETE FROM big_table
WHERE EXISTS
(SELECT 1 FROM small_table
WHERE small_table.id_product = big_table.id_product
AND small_table.id_category = 1)
Run Code Online (Sandbox Code Playgroud)
虽然它似乎比第一个运行得稍微快一点,但索引的速度仍然比没有速度慢得多.
我在这些字段上创建了索引:
big_table.id_productsmall_table.id_productsmall_table.id_category我的.ldf文件在这期间增长了很多DELETE.
DELETE当我的表上有索引时,为什么我的查询会变慢? 我以为他们应该跑得更快.
UPDATE
好的,共识似乎是索引将放慢一个巨大的DELETE因为索引必须更新.虽然,我仍然不明白为什么它不能同时DELETE全部所有行,并且最后只更新一次索引.
我从一些阅读中得到的印象是,DELETE通过WHERE更快地搜索子句中的字段,索引会加快.
"在DELETE和UPDATE命令中搜索记录时,索引的工作方式与SELECT语句一样."
但是在文章的后面,它说太多的索引会影响性能.
鲍勃问题的答案:
SELECT语句不会运行(抛出类型'System.OutOfMemoryException'的异常)我尝试了以下2个查询: …
.net ×3
asp.net ×2
c# ×2
scope ×2
sql-server ×2
winforms ×2
binding ×1
c ×1
debugging ×1
if-statement ×1
javascript ×1
msbuild ×1
sql ×1
sql-delete ×1
subquery ×1
vbscript ×1
windows ×1
windows-7 ×1
wpf ×1
xaml ×1