在C#中,(并且可以随意回答其他语言),运行时评估逻辑语句的顺序是什么?
例:
DataTable myDt = new DataTable();
if (myDt != null && myDt.Rows.Count > 0)
{
//do some stuff with myDt
}
Run Code Online (Sandbox Code Playgroud)
运行时首先评估哪个语句 -
myDt != null
Run Code Online (Sandbox Code Playgroud)
要么:
myDt.Rows.Count > 0
Run Code Online (Sandbox Code Playgroud)
?
是否有时候编译器会向后评估语句?也许当涉及"OR"运算符时?
&被称为逻辑按位运算符,并将始终评估所有子表达式
什么是何时使用按位运算符而不是"短路布尔值"的好例子?
我正在尝试使用System.Xml.Serialization.XmlSerializer序列化动态加载(和编译的类).如果我将有问题的类构建到主程序集中,一切都按预期工作.但是如果我从动态加载的程序集中编译并加载该类,则会XmlSerializer抛出异常.
我究竟做错了什么?
我创建了以下.NET 3.5 C#应用程序来重现该问题:
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.Reflection;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
public class StaticallyBuiltClass
{
public class Item
{
public string Name { get; set; }
public int Value { get; set; }
}
private List<Item> values = new List<Item>();
public List<Item> Values { get { return values; } set { values = value; } }
}
static class Program
{
static void Main()
{
RunStaticTest();
RunDynamicTest();
} …Run Code Online (Sandbox Code Playgroud) 我为什么要或不应该使用脏读:
set transaction isolation level read uncommitted
Run Code Online (Sandbox Code Playgroud)
在SQL Server中?
带有SQL Server 2005后端的VB.net Web系统.我有一个返回varchar的存储过程,我们最终得到的值不适合varchar(8000).
我已将return参数更改为varchar(max),但如何告诉OleDbParameter.Size属性接受任何数量的文本?
作为一个具体的例子,从存储过程获得返回参数的VB代码看起来像:
objOutParam1 = objCommand.Parameters.Add("@RStr", OleDbType.varchar)
objOutParam1.Size = 8000
objOutParam1.Direction = ParameterDirection.Output
Run Code Online (Sandbox Code Playgroud)
我能做什么.尺寸与(最大)一起工作?
更新:
回答一些问题:
对于所有意图和目的,本文都需要作为一个块出来.(改变这将需要比我想做的更多的结构性工作 - 或者我的授权,真的.)
如果我没有设置大小,我会收到一个错误,读取"String [6]:Size属性的大小为0".
有一些教程Web上描述了使用SQL Server 2005的CLR集成来使用Web服务.最重要的是,这个过程看起来很复杂.我遇到了几个问题,包括需要更改数据库的信任级别,以及使用sgen工具创建静态XmlSerializer程序集; 我仍然没有把它正常工作......(我确信我只需要花更多的时间和精力)
在使用这种类型的架构时,有哪些安全性,性能和维护含义?这可能是一个使用相当频繁的过程,易于维护相对重要.
我可以自由选择是将它作为UDF集成到SQL Server中,还是将它作为控制台/ Web应用程序的独立.NET库.SQL CLR与外部程序集的集成是否值得麻烦?
我需要防止导致url漏洞的字符
我的示例网址http://localhost/add.aspx?id = 4; req = 4
请给出我需要阻止的字符列表.
我正在使用ASP.net网页.我从sql server数据库绑定信息.
我只想列出要远离黑客的角色,在网址中输入不需要的字符串
对DataTable(例如PrimaryKey和UniqueContraint)的约束是否使得选择效率与SQL Server中的相同?或者他们唯一的目的是对数据实施规则?
myDT.Constraints.Add("PK", myDT.Columns["UniqueID"], true); //add a primary key
myDT.Constrinats.Add(new UniqueConstraint(new DataColumn[] { //add a unique constraint for UserID
myDT.Columns["UserID"], myDT.Columns["UniqueID"]
}));
Run Code Online (Sandbox Code Playgroud)
在通过UniqueID或查找DataTable中的数据时,这些示例是否可能具有更好的性能UserID?
我在C#2.0工作,但这适用于大多数面向对象的语言.当我创建具有包装私有字段的公共属性的类时,我会在内部是否应该使用属性或字段之间来回切换.当然C#3.0使自动属性更容易,但它仍然适用.
有关系吗?
public class Person
{
private string _name = "";
public string Name
{
get { return _name; }
set { _name = value; }
}
public Person(string name)
{
_name = name; //should I use the property or field here?
}
}
Run Code Online (Sandbox Code Playgroud) 如何通过请求msmdpump.dll连接到 SQL Server Analysis Services来解决此问题?我从 IsapiModule 收到 500 错误。
在装有 IIS 8.5 的 Windows Server 2012 R2 机器上,我msmdpump.dll使用以下说明设置了 OLAP 数据泵 ( ):https : //msdn.microsoft.com/en-us/library/gg492140.aspx#bkmk_copy
据我所知(并且我已经进行了两次和三次检查),一切都按照 MSDN 文章中的布局进行了配置。此外,与我进行此设置的另一台服务器(在不同的网络上)相比,它本质上是相同的。
当我http://localhost/OLAP/msmdpump.dll在该机器上的浏览器中请求时,收到 500 内部服务器错误。该错误表明它正在尝试使用OLAP我创建的处理程序。这与我在GET向 msmdpump.dll 发出请求时通常期望的错误不同。GET当一切正常时,对于一个直接的正常错误,会在一个 SOAP 信封中发回。就我而言,请求似乎从未被msmdpump.dll.
(完整截图见下文)
Module IsapiModule
Notification ExecuteRequestHandler
Handler OLAP
Error Code 0x8007007e
Requested URL http://localhost:80/OLAP/msmdpump.dll
Physical Path C:\inetpub\wwwroot\OLAP\msmdpump.dll
Logon …Run Code Online (Sandbox Code Playgroud) 我相信我的服务器一直是针对SQL Server 2005(SQLExpress)的暴力攻击的持续目标.我的事件查看器日志填充了SQL Server的"失败审核"消息.尝试通常持续一两个小时,尝试之间间隔1-2秒.
用户'sa'登录失败[客户端:222.169.224.163]
事件ID:18456.基于SQL Server日志中的匹配条目,我发现每个登录由于密码不匹配而失败.我也看到了其他用户的尝试,包括'administrator'和'administrador'.每个会话来自不同的IP地址,来自意大利和中国等国家.
可以采取什么对策?我不想锁定用户帐户,因为我的网站和应用程序将无法访问服务器.有没有办法通过SQL Server 2005来限制登录尝试?例如几何增加失败的登录尝试之间的"等待期"?
c# ×4
sql-server ×4
.net ×2
security ×2
ado.net ×1
clr ×1
coding-style ×1
iis ×1
isapi ×1
logic ×1
olap ×1
oop ×1
query-string ×1
reflection ×1
sql ×1
ssas ×1
web-services ×1