问题:
我有一个WPF 全屏应用程序,它充当仪表板.计算机在域和域策略中强制计算机在最后一次用户活动后10分钟内被锁定.我想防止工作站(或桌面)自动锁定.
此类行为的一个示例:Windows Media Player,可在电影运行时阻止此行为.
已知的解决方案(有点解决方法):
问题:
如何在不使用这些变通方法的情况下阻止Windows工作站锁定?
免责声明:
我很确定,应该在StackOverflow上的某处回答类似的问题,但我没有发现任何问题.如果你能指出我正确的方向,我将不胜感激.
我正在寻找一个BCL异常类型,以便在调用另一个方法时出现意外返回值.
我会以某种方式命名UnexpectedReturnValueException,但显然.NET Framework没有这样的东西.
以下是一个代码示例:
public class SomeClass
{
private int savedMonth;
private ISomeOtherClass other;
public void DoSomething(int month, string value)
{
if (string.IsNullOrEmpty(value))
{
throw new ArgumentNullException("value");
}
if (!value.StartsWith("A"))
{
throw new ArgumentException("Value should always start with an 'A'", "value");
}
if (month < 1 || month > 12)
{
throw new ArgumentOutOfRangeException("month", "Month should be in range of 1 to 12");
}
if (savedMonth == month)
{
throw new InvalidOperationException("Provided month should be different from saved …Run Code Online (Sandbox Code Playgroud) 我有一个客户端 - 服务器应用程序,其中一部分通过WCF(netTcp绑定)相互"交谈".
我有我的DataContract,它有一个第三方类的字段:
[Serializable]
public class MyResult{
public ThirdPartyResult Result {get;set;}
/* other fields */
}
Run Code Online (Sandbox Code Playgroud)
使用反射我看到这个:
[Serializable]
public class ThirdPartyResult {
private IList result;
public IList Result
{
get { return result ?? (result = new ArrayList());}
}
}
Run Code Online (Sandbox Code Playgroud)
从客户端调用服务器时我有resultas ArrayList服务器.在客户端之后,该result字段变为固定大小的数组.
我没有使用添加服务引用,但我使用程序集共享,只是这样做
ChannelFactory<IMyContract>.CreateChannel(new NetTcpBinding("Configuration.Name"), address);
Run Code Online (Sandbox Code Playgroud)
更新:服务合同
[ServiceContract]
[ServiceKnownType(typeof(ArrayList))]
[ServiceKnownType(typeof(ThirdPartyResult))]
public interface IMyContract
{
MyResult GetResult();
}
Run Code Online (Sandbox Code Playgroud)
现在问题是:
我如何告诉WCF使用ArrayList而不是Array?
我提出了一个非常糟糕的解决方案(从我的角度来看)
通常我希望ArrayList保留一个以便能够添加项目.最后我想出了下面的解决方案.是的,我知道,这是完全糟糕的,这就是为什么我还在寻找一些更好的变体.
if (thirdParty.Results …Run Code Online (Sandbox Code Playgroud)