小编вʀa*_*ᴎєƞ的帖子

使用WCF回调需要采取哪些步骤?

我正在努力学习WCF.我有一个简单的客户端和服务器应用程序设置,并在按下客户端上的按钮后,它从服务器获取更新的值.

我的下一步是尝试从服务器到客户端进行回调以更新其值.我已经倾注了许多例子,它们看起来太大而且令人困惑.有没有人可以在C#中提供我最简单的实现示例?

我一直在线查看示例,我只是不明白它需要什么?当然,我可以逐行复制示例,但这对我没有好处,因为如果我想在我自己的代码中执行此操作,我仍然没有实现.

有人可以帮我一个非常简单的例子,说明我需要采取什么步骤以及我需要在服务器代码中做什么,然后在客户端代码中才能实现这一点?

谢谢

.net c# vb.net wcf callback

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

DirectCast具有性​​能和延迟/早期绑定有什么影响?

我一直认为这DirectCast()是相当便宜,性能和内存方面的,并且它基本上是一种帮助我使用IntelliSense的方法,例如在事件处理程序中:

Public Sub myObject_EventHandler(sender As Object, e As System.EventArgs)
    'Explicit casting with DirectCast
    Dim myObject As myClass = DirectCast(sender, myClass)

    myObject.MyProperty = "myValue"
End Sub
Run Code Online (Sandbox Code Playgroud)

我认为这对于我作为开发人员来说更好,但对于编译的代码和最终的性能也是如此,因为它启用了"早期绑定"而不是...

Public Sub myObject_EventHandler(sender As Object, e As System.EventArgs)
    'No casting at all (late binding)
    myObject.MyProperty = "myValue"
End Sub
Run Code Online (Sandbox Code Playgroud)

...如果我正确地得到了这些术语,它也可以编译和运行,但使用"后期绑定".即假设它sender实际上是一个myClass对象.

关于性能,延迟/早期绑定或其他任何事情,上面的第一个片段和下面的片段之间有什么区别:

Public Sub myObject_EventHandler(sender As Object, e As System.EventArgs)
    'Implicit casting via variable declaration
    Dim myObject As myClass = sender

    myObject.MyProperty = "myValue"
End Sub
Run Code Online (Sandbox Code Playgroud)

显式DirectCast()调用是有用/有害还是在编译器优化代码后没有区别?

vb.net performance directcast

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

定义具有可变长度的varchar

我试图修改SQL Server 2012数据库中的特定表中的特定列的数据类型.在脚本的开头,用户将设置列数据类型的新所需长度.但是,当我尝试更改表中的列以设置新varchar长度时,我收到错误.

以下是代码段和结果错误:

Declare @newPrecis int

Set @newPrecis = 23 -- New length of the index

Alter Table [dbo].[VTAB0047] Alter Column VAL varchar(@newPrecis)
Run Code Online (Sandbox Code Playgroud)

错误:

消息102,级别15,状态1,行5
'@ newPrecis'附近的语法不正确.

目前VAL列的长度是varchar(20),我希望它设置为23的长度或在set语句中输入的任何长度.

我现在忽略了任何类型的错误检查,因为我只是试图让基本功能失效.

sql t-sql sql-server varchar alter-table

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

在eval {}语句中的If()语句之后定义empty {}

我目前正在尝试记录一个Perl脚本,以准备将其转换为.NET.我之前没有Perl的经验,但是我设法通过很多Google-fu来完成它.我遇到了阻止我的一行代码,因为我不确定它的作用.我已经能够弄清楚它的大部分,但我错过了一块,我不知道它是否真的那么重要.这是代码行:

eval { if(defined $timeEnd && defined $timeStart){}; 1 } or next;
Run Code Online (Sandbox Code Playgroud)

我知道这defined是检查变量$timeEnd$timeStart查看它们是否是null/ nothing/ undef.我也相信该eval块被用作Try/Catch块来捕获任何异常.代码行在foreach循环中,所以我相信next关键字将继续foreach循环的下一次迭代.

我解密困难的部分是{};1位.我的理解是它;是Perl中的一个语句分隔符,因为它没有用反斜杠转义,我不知道它在那里做了什么.我也不知道是什么{}意思.我认为它与数组有关,但它是一个空数组,我不知道它是否意味着一个特殊的东西直接在一个if()块之后.最后,我不知道一个整数的1意思是什么,并在eval块的末尾做什么.

如果有人可以将这行代码分解为单个部分及其定义,我将非常感激.

额外奖励:如果你能给我一个.NET转换,以及每个Perl位如何与它相关,我肯定会给你我的互联网尊重.以下是我现在将其转换为VB.NET的方法:

For each element in xmlList    'This isn't in the Perl code I posted, but it's the `foreach` loop that the code resides in.
    Try
        If Not IsNothing(timeEnd) AND Not IsNothing(timeStart) then 
        End …
Run Code Online (Sandbox Code Playgroud)

perl

4
推荐指数
1
解决办法
206
查看次数

标签 统计

vb.net ×2

.net ×1

alter-table ×1

c# ×1

callback ×1

directcast ×1

performance ×1

perl ×1

sql ×1

sql-server ×1

t-sql ×1

varchar ×1

wcf ×1