小编nj.*_*nj.的帖子

为什么短路不能阻止与逻辑AND(&&)的不可达分支相关的MissingMethodException?

在检查我的Windows移动设备上是否有摄像头并启用时,我遇到了一些我不理解的东西.

代码如下所示:

    public static bool CameraP(){

        return Microsoft.WindowsMobile.Status.SystemState.CameraPresent;
    }

    public static bool CameraE()
    {
        return Microsoft.WindowsMobile.Status.SystemState.CameraEnabled;
    }

    public static bool CameraPresent1()
    {
        return Microsoft.WindowsMobile.Status.SystemState.CameraPresent
              && Microsoft.WindowsMobile.Status.SystemState.CameraEnabled;
    }

    public static bool CameraPresent2()
    {
        return CameraP() && CameraE();
    }
Run Code Online (Sandbox Code Playgroud)

当我调用CameraPresent2()它时返回false(没有相机存在).但是,当我打电话给CameraPresent1()我收到一个MissingMethodException并注释"找不到方法:get_CameraEnabled Microsoft.WindowsMo​​bile.Status.SystemState."

第二个术语的评估CameraPresent1是因为它们都是属性(在语言层面)吗?

还有什么能解释行为上的差异吗?

c# compact-framework short-circuiting

20
推荐指数
3
解决办法
793
查看次数

如何列出(或导出)数据库中所有触发器的代码?

我在数据库中从本地时间更改为UTC时间.
有很多触发器将信息复制到当前使用的历史表中GETDATE().

我想找到在数据库中使用GETDATE()(而不是GETUTCDATE())的每个触发器,有没有办法自动执行此操作?

我列出了它们select * from sys.triggers但我还需要看到能够找到使用的实际代码GETDATE().

sql-server triggers

9
推荐指数
1
解决办法
9492
查看次数

是否有一种使用basicHttpBinding扩展WCF服务以允许REST服务与JSON通信的好方法?

我们在VS2010中内置并运行了一个Web服务.

一些运营合同如下:

    [OperationContract]
    ITicket Login(string userName, byte[] passwordHash, string softwareVersion);
Run Code Online (Sandbox Code Playgroud)

即他们的摊位有复杂的论点和复杂的回报类型,甚至多次回报.

我们最近开始了一个外包的iPhone项目,并让他们使用这项服务与我们的服务器进行通信.根据我从他们那里学到的东西,我明白这不是一个与iPhone通信的好习惯(例如,缺乏使用WSDL的好方法).因此,我开始考虑将服务公开为与JSON通信的REST服务的可能性.

我添加了一个新的端点,使用webHttpBinding,装饰合同如下:

    [OperationContract]
    [WebGet(UriTemplate = "/login?username={userName}&password={password}&softwareVersion={softwareVersion}", ResponseFormat=WebMessageFormat.Json)]
    ITicket Login(string userName, string password, string softwareVersion);
Run Code Online (Sandbox Code Playgroud)

此方法现在可以按预期工作.

然后我尝试装饰另一种方法,如下所示:

    [OperationContract]
    [WebGet(UriTemplate = "/GetMetaData?ticket={ticket}",RequestFormat=WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    IMetaData GetMetaData(ITicket ticket);
Run Code Online (Sandbox Code Playgroud)

当我现在尝试访问它时,我收到以下错误:

'/ Jetas5MobileService'应用程序中的服务器错误.合同'IJetas5MobileService2'中的'GetMetaData'操作有一个名为'ticket'的查询变量,类型为'Jetas.MobileService.DataContracts.ITicket',但类型'Jetas.MobileService.DataContracts.ITicket'不能由'QueryStringConverter'转换.UriTemplate查询值的变量必须具有可由"QueryStringConverter"转换的类型.

我已经设法构建一个只接受字符串作为参数的OperationContract,然后通过使用在后端解析瘦DataContractJsonSerializer,但这感觉更像是一个丑陋的黑客.

有没有办法以更好的方式解决这个问题?我是初学者,当涉及到WCF和REST时,所以不要害怕指向任何有可能存在的初学者教程.我试图搜索它们,但是大量的资源使得很难找到好的资源.

c# rest wcf json .net-4.0

5
推荐指数
1
解决办法
1632
查看次数

如何判断字符串是否可以使用jodatimes DateTime构造函数进行解析?

我需要确定输入字符串输入是否可以由jodatimes DateTime构造函数解析,Datetime(Object instant)但我现在对创建DateTime对象不感兴趣.

有没有办法检查字符串是否可以在调用构造函数旁边解析并捕获可能的异常?

java jodatime

3
推荐指数
1
解决办法
816
查看次数