我想以不同的方式处理不同的问题,同时进行数据库操作.
例如,由于数据库凭据错误或由于网络问题,操作可能会失败.或者它可能会失败,因为查询不正确(如果在int类型列中传递字符串值)
在我的C#代码中,我们只有SqlException哪些集合SqlErrors.但是有很多严重程度.
如何轻松识别SqlException的原因?如何确定异常是由于连接问题或身份验证失败或由于查询问题.
我正在使用SQL Server 2005.
我已将强名称程序集安装TestReflection到GAC中(我使用的是.NET 4.0和VS 2010).
不同版本的TestReflectionDLL在.NET 4.0(C:\WINDOWS\Microsoft.NET\assembly\GAC_32\TestReflection\)的GAC中,但是,程序集不会出现在VS 2010的"项目" - >"添加引用"框中.
如何在设计时从另一个项目中引用部署在GAC中的我的程序集?
这个页面说:
您无法添加全局程序集缓存(GAC)中的引用,因为它严格地是运行时环境的一部分.
参考这个声明,我想知道如果需要,如何为其他消费者制作项目的DLL共享程序集?
在我的 ASP.NET Core 3.1 应用程序中,我想在最后做一些设置,因为它们依赖于仅在 Startup.cs 中注册的一些其他服务。有人可以帮助我理解为什么我的类实现IPostConfigureOptions<T>.NET Core 永远不会调用吗?
我有一个Options这样的课程:
public class MyTestOptions
{
public string TestTest { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这在Startup.cs的ConfigureServices方法中像往常一样使用。
services.Configure<MyTestOptions>(o => { o.TestTest = "Test Test Test"; });
Run Code Online (Sandbox Code Playgroud)
我需要“最后”更改一些设置。所以,我实现了IPostConfigureOptions<T>接口。实现类看起来像这样。(以下代码段中未显示 PostConfigure 方法)。
public class MyTestPostConfigure : IPostConfigureOptions<MyTestOptions>
Run Code Online (Sandbox Code Playgroud)
然后将其注册到Startup.cs的ConfigureServices方法中,如下所示。
services.ConfigureOptions<MyTestPostConfigure>();
Run Code Online (Sandbox Code Playgroud)
我也尝试以不同的方式注册 PostConfig 类。
services.AddSingleton<IPostConfigureOptions<MyTestOptions>, MyTestPostConfigure>();
Run Code Online (Sandbox Code Playgroud)
但是,无论如何PostConfigure都不会调用 。我错过了什么吗?**
我有一个静态类,它有一个私有变量.
private static Dictionary<strng, string> items = new Dictionary<string, string>();
Run Code Online (Sandbox Code Playgroud)
该类的许多公共方法都访问此字典对象.现在我想编写NUNit测试类(在不同的库中).我该如何测试这个私有变量?
我已经开始使用StyleCop,只要有变量声明,它就会发出警告m_VariableName.
警告信息是:Variable names must not start with 'm_'.这是StyleCop规则SA1308.
我可以取消这条规则.但
1)我想知道为什么以"m_"开头声明变量名称是一种不好的做法或被认为是一种不好的做法?
2)下划线字符对Visual Studio重构有特殊意义吗?(我是从一位资深开发者那里听到的.)
我们正在将一组WSE服务迁移到WCF平台.
通过安全HTTP调用新的WCF服务.(https)
我想从另一个WCF服务调用一个WCF服务的操作合同.这两种服务主要托管在同一个IIS中,但它们可以位于单独的IIS服务器上.
使用接口声明变量是一个好习惯吗?在我的公司,我们讨论过它,我反对它.
例如,我想要一个存储字符串键和字符串值对的集合.我也不想允许重复.很明显,我在我的班级中声明了Dictionary变量,该变量将公开(通过属性).
Dictionary<string, string> myDic;
Run Code Online (Sandbox Code Playgroud)
但是,一个团队成员说这不是一个好习惯!他说你用IDictionary声明一个变量,这将允许消费者分配他们想要的任何集合(实现IDictionary).例如Hashtable或Dictionary
IDictionary myDic;
myDic = new Hashtable(); // Consumer's code
Run Code Online (Sandbox Code Playgroud)
要么
mydic = new Dictionary<string, string>(); // Consumer's code -
我现在可以知道,将变量声明为接口类型真的是一个好习惯吗?当我清楚地知道该变量的预期时,那也是如此?
我想验证X509证书.我想去X509Certificate2.Verify()方法.
但是,文档并没有说明它验证的所有内容.
.net certificate-revocation x509certificate2 x509certificate
我正在使用智能卡进行身份验证.
SecurityTokenService(身份验证服务)仅托管在我的计算机上.智能卡具有有效证书,其根证书也安装在我的计算机上的本地计算机存储中.
当我使用X509Certificate2.Verify方法验证我的服务中的证书时,它总是返回false.
有人可以帮我理解为什么X509Certificate2.Verify()方法总是返回false吗?
注意:我使用X509Chain并检查了所有标志(X509VerificationFlags.AllFlags).当我建章宁,它会返回true与ChainStatus作为RevocationStatusUnknown.
我观察到,如果我在Windows窗体应用程序中编写此代码,该X509Certificate2.Verify() 方法将返回true.它false仅在服务端代码中返回.为什么这样?奇怪但真实!
在大会A中:
[DataContract]
public class Base
{
[DataMember]
public string SomeText { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在大会B中:
internal class Helper
{
internal static Base Deserialize(string serializedInstanceOfTypeBase)
{
DataContractSerializer serializer = new DataContractSerializer(typeof (Base));
XmlReader reader = XmlReader.Create(new StringReader(serializedInstanceOfTypeBase));
return (Base)serializer.ReadObject(reader);
}
}
Run Code Online (Sandbox Code Playgroud)
在程序集C中:
[DataContract]
public class Derived : Base
{
[DataMember]
public string SomeMoreText { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我序列化一个类型的实例Derived并将其传递给Helper.Deserialize()方法,它将失败SerializationException:
第1行位置错误2.期望命名空间'http://schemas.datacontract.org/2004/07'中的元素'Base'.遇到名为'Derived'的'Element',命名空间'http://schemas.datacontract .ORG/2004/07' .
我该怎样摆脱这个问题?
我知道KnownType属性,但在程序集A和B编码时,我完全不知道它的派生类型.所以我不能使用那个解决方案.
我的产品设计比较复杂,我不能完全在这里发布.Helper.Desrialize()方法只是得到一个string参数.Base即使在运行时,也无法(至少目前)对程序集A或B了解类的派生类型.
程序集B引用程序集A.但A&B不能引用程序集C. …
c# ×6
.net ×2
.net-4.0 ×1
ado.net ×1
asmx ×1
asp.net-core ×1
gac ×1
nunit ×1
refactoring ×1
reference ×1
sqlexception ×1
strongname ×1
stylecop ×1
unit-testing ×1
wcf ×1
wcf-binding ×1
web-services ×1