小编Nel*_*mel的帖子

SOAP错误或结果对象?

我和同事正在讨论这个问题,我们无法达成协议,所以我想得到你的想法.我对此有自己的看法,但我不会为你破坏它.

我应该何时返回SOAP错误,何时应返回具有错误信息的结果对象?假设这是一个可以被各种系统(.NET,Java,等等)使用的通用Web服务.结果对象将具有isError标志,errorType(类似于特定的异常类型)和消息.

有些要考虑的要点:

  1. 数据验证错误是错误吗?
  2. 是否存在故障组合(对于非常特殊情况)和结果对象(对于"预期"错误)?
  3. 您将如何分组SOAP错误(关键[空引用]与验证[邮政编码不正确])?
  4. 快速失败与必须记住检查错误
  5. 最佳实践,模式,标准等

文章链接有效.即使听起来我想要你的意见,请坚持事实(因为y和z,x更好)

web-services exception-handling soapfault

61
推荐指数
3
解决办法
5万
查看次数

存储过程 - 将标识作为输出参数或标量返回

将记录插入带有标识列的表时,可以使用SCOPE_IDENTITY()来获取该值.在存储过程的上下文中,这将是返回标识值的推荐方法:

  1. 作为输出参数 SET @RETURN_VALUE = SCOPE_IDENTITY()
  2. 作为标量 SELECT SCOPE_IDENTITY()
  3. 其他方式?

各有利弊吗?

sql-server stored-procedures

43
推荐指数
2
解决办法
14万
查看次数

C#与可选方法的接口

我知道接口是契约,任何更改(甚至添加)都会破坏任何相关代码.但是,我可以发誓我曾经读过一些最近的.NET版本(3,3.5 ??)添加了一个可以应用于新接口成员的新属性.此属性允许版本控制和/或使成员可选.它应该是这样的:

interface ITest
{
    void MethodOne();

    [InterfaceVersion(2)]
    void MethodTwo();
}
Run Code Online (Sandbox Code Playgroud)

我为此寻找高低,但似乎无法找到它.我想知道我是否只是误解了我认为我读过的东西而且没有这样的东西.有人有任何见解吗?

c# versioning interface

39
推荐指数
6
解决办法
4万
查看次数

PowerShell"回声"

这是https://serverfault.com/questions/102098/powershell-script-showing-commands-run的副本.我认为在这里提出这个问题会更合适.

我正在玩PowerShell脚本,他们工作得很好.但是,我想知道是否还有任何方法可以显示所有运行的命令,就像你自己手动输入它们一样.这与批处理文件中的"echo on"类似.我查看了PowerShell命令行参数cmdlet,但我没有找到任何明显的参数.

powershell command echo

27
推荐指数
2
解决办法
2万
查看次数

使用C#进行实时应用

C#可用于开发实时应用程序,包括连续从网络摄像头获取输入并处理输入吗?

c# windows real-time

24
推荐指数
3
解决办法
3万
查看次数

是否会通过GC处理SqlConnection?

免责声明:我知道IDisposable在处理非托管资源时应该实施.其余的代码应该是确定性的,并且using (...) { }(相当于try {} finally { Dispose(); })保证尽快清理.此外,GC 不会调用Dispose(),因此推荐的模式是覆盖Finalize()随后调用的方法(使用析构函数语法在C#中)Dispose().GC通常会调用Finalize()(除非GC.SuppressFinalize()被调用).

问题:所以现在我已经解决了这个问题,我有一个奇怪的场景,using (SqlConnection...) { }由于我无法控制代码,我无法做到这一点.我通常可以做一个确定性的Dispose(),但不能保证.我使用Reflector进行反汇编SqlConnection并看到它使用Dispose(),但除非我是盲目的,否则没有终结器/析构函数(Finalize()~SqlConnection()).这是否意味着GC不会"清理"(发送回池)连接在奇怪的情况下我不能?我找不到任何确定的东西......

.net idisposable sqlconnection finalizer

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

检测iframe内容高度变化

很多示例显示如何动态设置iframe其内容的高度.这对我来说很完美.我现在面临的问题是内容可以在不触发的情况下改变大小onload(想想隐藏/可扩展div的).

有没有办法检测iframe内容的大小何时发生变化?这是在同一个域,没有jQuery,请.

javascript iframe

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

我做出改变之后的分支?

我对我计划签入的代码做了一些更改.我实际上需要分支然后提交这些更改.在不丢失数据的情况下执行此操作的正确方法是什么(我将进行备份)?请注意,我不仅更改了文件; 我也做过重命名.我想第一次做对,因此我在这里问.

svn

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

卸载CodeDom编译的程序集

我有一些C#代码(让我们称之为"脚本")我在运行时编译.它使用我的主程序中的接口来访问其功能.编译完成后我就CompilerResults.CompiledAssembly可以了CreateInstance(Type).

一旦我完成了使用脚本,我想完全卸载.据我所知,如果我创建一个单独的应用程序域,我只能这样做:将 DLL加载到单独的AppDomain中

我有一些与我的实施有关的问题:

  1. 如果我有多个脚本要编译并想要独立卸载它们,我是否必须为每个脚本创建单独的应用程序域?
  2. 我应该使用哪些应用程序域名?GUID是个好主意吗?有什么名字我应该避免可能会发生冲突吗?
  3. 如果程序集位于单独的应用程序域中,那么访问主程序中的接口是否有任何问题?我ReferencedAssemblies.Add(typeof(Interface).Assembly.Location)在编译之前正在做的事情.
  4. 我可以使用CompilerParameters GenerateInMemory=true,还是必须将其保存在某个地方?

c# assemblies codedom appdomain

10
推荐指数
1
解决办法
2397
查看次数

PropertyInfo SetValue和nulls

如果我有类似的东西:

object value = null;
Foo foo = new Foo();

PropertyInfo property = Foo.GetProperties().Single(p => p.Name == "IntProperty");
property.SetValue(foo, value, null);
Run Code Online (Sandbox Code Playgroud)

然后foo.IntProperty设置为0,即使value = null.看起来它正在做类似的事情IntProperty = default(typeof(int)).我想抛出一个InvalidCastExceptionif IntProperty不是"可以为空"的类型(Nullable<>或引用).我正在使用Reflection,所以我不提前知道类型.我该怎么做呢?

c# reflection default

10
推荐指数
1
解决办法
1万
查看次数