‘壹’ 在.NET的Web应用程序开发中,使用WCF和WebService编程的主要区别主要在哪里
默认情况下,在VS2010里开发wcf服务,就是基于iis承载的,也就是类似于WebService,只不过扩展名不是asmx,而是svc,配置也有些不一样了
你说的那种需要启动服务的,应该是用Windows服务去承载的wcf吧
‘贰’ WCF服务编程一书中写到:契约操作不能使用引用对象参数,只允许使用基本类型或者数据契约
在过程调用中传递了一个无效参数。这可能是由于参数超出范围,或包含无效数据。另外,有可能在不适当的时间对过程进行了调用。要纠正该错误验证传递给过程的参数是有效的。验证在适当的时间调用函数。溢出试图赋给变量的赋值太大,这是因为:赋值,计算或者数据类型转换结果很大以至于不能代表此种类型变量值的范围。属性赋值超出了属性所能接受的最大值。整数类型数字的计算结果大于一个整数。要纠正该错误将值赋给一个较大取值范围的变量类型。确保赋值符合属性范围。内存不足分配与该计算机有效内存一样多的内存。这可能是一个动态分配数组增长得太大,或者是对象实例数目过多。要纠正该错误使用Erase语句来重新分配动态数组的储存空间。使用ReDim语句来重新分配储存空间。关闭任何已经打开、不必需的应用程序,文件或者源文件。下标越界要访问的数组中元素数目比期望的少。例如试图从一个定义为10个元素的数组中访问到11个元素。.要纠正该错误确保你的代码中包含检察元素是否越界的边界。重新定义一个更大的数组大小至需要的维数。该数组为定长的或者临时被锁定试图用ReDim函数来改变一个定长数组的元素数目。动态数组或者Variant变量内的数组可以被暂时的锁定。要纠正该错误如果在过程内部定义数组,用ReDim函数将其从静态变为动态。如果在模块水平上说明数组,不要指定数组中元素的数目。被零除创建一个试图将数字被零除的表达式。被零除得到无穷大(不可用)结果。要纠正该错误检查表达式的输入或大小写错误。类型不匹配试图比较不相容数据类型的值。例如,比较一个字符串和一个数值。要纠正该错误当进行比较时,要确保数据类型相同。用一个的数据类型来计算另一个的值,然后重新比较。字符串空间溢出试图创建字符串对象时系统内存被用尽。这可能是因为动态分配数组越来越大或对象实例的数目过大。要纠正该错误使用Erase语句来重新分配动态数组的储存空间。使用ReDim语句来重新分配储存空间。关闭任何已经打开、不必需的应用程序,文件或者源文件无法执行请求的操作当主机使脚本引擎中断时无法继续执行脚本。主机未指定明确的返回错误代码。要纠正该错误该错误的解决与主机有关。堆栈溢出过程嵌套太深。每次代码从一个过程跳到另一个过程,本地变量的内容被放到堆栈中。堆栈是一个大小随着要求执行的脚本动态增长和缩小的内存工作区域。要纠正该错误检查没有嵌套很深的过程。确保递归(重入)过程没有经常的调用自身。确保递归过程被正常终止。未定义Sub或Function试图调用一个不存在的过程。要纠正该错误检查过程的拼写确保输入正确。加载DLL错误应用程序引用了一个无法找到的DLL,一个DLL可能引用了另一个无法找到的DLL。要纠正该错误确保DLL存在。使用全路径名引用DLL。获得被引用的DLL并使其对其他DLL有效。内部错误发生内部错误。要纠正该错误除非这是由Raise方法产生,请与微软产品服务联系报告出现错误消息的情况。未设置对象变量试图使用无效对象的对象属性。如果遗漏了Set语句,将在对象引用产生错误。要纠正该错误为对象变量指定一个引用。For循环未初始化在脚本中执行跳到ForNext循环中间的结果。由于ForNext循环计数必须被初始化所以产生错误。下面演示了一个ForNext循环的正确结构。Forcounter=startToend[Stepstep][statements][ExitFor][statements]Next要纠正该错误移去跳转至ForNext循环的语句。确保ForNext循环包含了所有必须的部分。非法使用Null试图获得一个为Null的Variant变量的值。你只能获得包含有效值的Variant变量的值。Null是一个Variant一个用来指示一个数据项不包含任何有效数据的子类型。要纠正该错误确保变量包含有效数据。需要对象提供的对象无效(或无法认为是一个对象)。对属性和方法的引用需要一个显式的对象限定符。要纠正该错误提供一个对象限定符。检查对象限定符的拼写。ActiveX部件无法创建对象由于对象类未在系统注册表中注册或者是一个或多个相关的动态链接库无效(DLLs),VB5.5运行时无法初始化对象。另外一种可能情况是,由于未找到或是已经损坏,对象所需的DLL不可用。要纠正该错误确保所有相关的DLLs有效。例如,数据存取对象(DAO)所需的DLLs在不同的平台下是不同的。你可能不得不返回到安装程序查找该对象。InternetExplorer可能试图创建对象,但是在InternetExplorer中没有正确的安全许可。重置InternetExplorer安全设置并重试。类不支持自动化试图操作一个并不支持自动化的对象属性或方法。可以创建并将指针传递给不支持自动化的对象,但是不能获取它的属性和方法。要纠正该错误查创建对象应用程序的文档中关于该类自动化使用的限制。注意对象可能已经通过使用CreateObject被创建,但可能已经通过主机对象模型被引入。在自动化操作中未找到文件名或类名使用GetObject函数,但是将一个不可识别的类或文件名作为参数。GetObject函数要求包含要获取的对象的文件的完整的路径和名称,或者是在系统中注册过的类名称。要纠正该错误检查名称的拼写错误,然后重试。确保class参数的名称与在系统中注册的相匹配。对象不支持该属性或方法对该自动化对象指定了一个并不存在的属性或方法。不是所有的对象都支持所有的属性和方法。要纠正该错误检查属性和方法以确保没有打字错误。参见对象的文档获取的信息。对象不支持此操作试图引用该对象不支持的一个方法或属性。不是所有的对象支持所用的操作。要纠正该错误检查属性和方法以确保没有打字错误。参见对象的文档获取的信息。对象不支持当前的区域设置试图操作一个不支持当前区域设置的对象。区域设置是和给定语言以及国家/地区相对应的一系列信息。本地影响预定义程序项的语言和本地特定设置。以下两种情况时本地信息很重要:codelocale影响语言项例如关键词,并且定义本地特定设置例如小数和列表分割符,日期格式和字符排列顺序。systemlocale影响本地相关的功能执行。例如,当显示数字或者将字符串转换为日期时。使用操作系统提供的控制面板工具来设定系统。要纠正该错误检查对象支持的区域设置。未找到命名参数调用一个过程并指定一个特别的参数,但是过程未被定义为接受以为名称的参数。除非在过程定义中出现,一个命名参数不能在过程调用中使用。要纠正该错误检查参数名称是否正确拼写,然后再试着调用过程。参数不可选调用过程但是参数数量错误。传递给过程的参数的数量必须与过程定义的参数数量相同。要纠正该错误检查函数符号确保提供了所有必须的参数。错误的参数个数或无效的参数属性值调用过程时如果:错误的过程名称,或者,过程中参数数目错误,或者,参数类型错误。传递给过程的参数数目必须与过程定义中的参数数目相符。要纠正该错误检查以确保传递给过程的参数列表与过程定义或声明中的相符。对象不是一个集合试图对一个不是Collection类型的对象进行只对Collection对象有效的操作。有些属性、方法和操作仅可应用于Collection对象。Collection对象是包含一组互相关联的对象的一种对象。一旦集合中发生了改变,一个对象在Collection对象中的位置也会发生改变;因此,Collection对象中的任何一个对象的位置都可能变化。要纠正该错误检查对象或属性名称的拼写。验证对象是一个Collection对象。查看用来向集合中添加该对象的Add方法,确保语法正确且任何标识符的拼写都正确。变量使用了VB不支持的自动化类型试图使用类型库或者对象库中不被支持的数据类型,任何一门编程语言都不能使用类型库或对象库中的所有变量。要纠正该错误只使用VB识别的变量类型。远程服务器不存在或者不能访问用CreateObject函数来建立一个远程机器的对象,但是调用失败,这是因为无法访问远程服务器或者没有包含特定的类。要纠正该错误检验远程服务器的名字是否正确。检验远程服务器的DCOM可用。使用dcomcnfg验证安全权限是否允许建立对象。无效图片试图加载一个无法识别格式的图像。有效格式包括位图(*.bmp),图标(*.ico),以及Windows元文件(*.wmf)。要纠正该错误确保要加载的图像文件的格式是有效的。变量未定义在脚本开始处用OptionExplicit语句,后来又使用一个未被说明的变量名称。当使用OptionExplicit语句时,必须用Dim,Private,Public或者ReDim语句显式地说明所有的变量。要纠正该错误使用OptionExplicit语句时,确保用Dim,Private,Public,OrReDim语句定义了所有的变量。脚本对象不安全试图使用未被标识为脚本安全的对象。对象创建是否安全由主机决定。总的来说,允许不信任脚本进行有害操作(例如操作硬盘)的对象是不安全的。例如,使用作为客户端的MicrosoftInternetExplorer运行FileingObject是不安全的,但是可以在带有WindowsHost的本地机器使用该对象。要纠正该错误确保在使用一个安全的对象。与对象开发者联系看是否为安全版本。阅读对象文档发现该对象是否安全。对象不能安全初始化试图使用未被标识为初始化安全的对象。对象创建是否安全由主机决定。总的来说,允许不信任脚本进行有害操作(例如操作硬盘)的对象是不安全的。例如,使用作为客户端的MicrosoftInternetExplorer运行FileingObject是不安全的,但是可以在带有WindowsHost的本地机器使用该对象。要纠正该错误确保在使用一个安全的对象。与对象开发者联系看是否为安全版本。阅读对象文档发现该对象是否安全。对象不能安全创建试图使用一个未被标识为安全创建的对象。对象创建是否安全由主机决定。总的来说,允许不信任脚本进行有害操作(例如操作硬盘)的对象是不安全的。例如,使用作为客户端的MicrosoftInternetExplorer运行FileingObject是不安全的,但是可以在带有WindowsHost的本地机器使用该对象。要纠正该错误确保在使用一个安全的对象。与对象开发者联系看是否为安全版本。阅读对象文档发现该对象是否安全。无效或不合格的引用试图对不止一个对象使用With语句。With语句只能被非空对象使用。下面演示了一个With块的正确结构。WithobjectstatementsEndWith要纠正该错误为With语句指定一个对象。类未定义引用未定义(通过New或Set语句)的类。要纠正该错误确保在引用类之前已经定义。发生异常脚本调用COM对象,然后产生异常。要纠正该错误除非该调用由Raise方法产生,请与产生错误的CM对象开发人员联系。请与微软产品服务联系报告出现错误消息的情况。正则表达式中的语法错误搜索字符串的结构违背了VB正则表达式中的一个或多个语法规则。要纠正该错误保证常规的搜索字符串的表达式符合Perlde的表达语法。错误的数量词当构造正则表达式的搜索模式时,没有正确的说明匹配的字符串。要纠正该错误确保搜索模式是正确构造的。在正则表达式中需要']'试图为正则表达式匹配创建一个字符类,但未包含右括号。将单独的字符组合放到方括号里可以将其装配到字符类中。例如,/[abc]/匹配字母“a”,“b”,或“c”中任意一个。要纠正该错误在正则表达式中添加右括号。在正则表达式中需要')'试图创建常规的嵌套表达式,但未包含“)”。在正则表达式中括号有几个目的。首先,它将分离的项组成为单个子表达式,所以项目可以通过*,+,?等等来当作一个单元来处理。要纠正该错误在常规的嵌套表达式中添加右(闭)括号“)”。字符集越界试图使用无效字符创建正则表达式。正则表达式是由字母数字和元字符组成的。要纠正该错误仅仅使用有效正则表达式字符来组成正则表达式。求采纳为满意回答。
‘叁’ WPF高级编程的目录
第1章WPF概述 1
1.1WindowsAPI的简要历史 1
1.1.1平台演化 2
1.1.2.NETFramework3.0介绍 2
1.2初识WindowsPresentationFoundation 3
1.2.1设计指导原则 3
1.2.2WPF体系结构 5
1.3XAML 13
1.4可视化设计工具 16
1.4.1XamlPad 16
1.4.2MicrosoftExpressionBlend 17
1.4.3WPF可视化设计器 18
1.4.4ElectricRainZAM3D 19
1.4.5MobiformAurora 19
1.5小结 20
第2章WPF与.NET编程 23
2.1开始 23
2.1.1需要安装的软件 24
2.1.2WPF应用程序类型 24
2.1.3第一个WPF应用程序 25
2.2WPF开发概念 27
2.2.1XAML 27
2.2.2Application对象 28
2.2.3创建用户界面 30
2.2.4事件处理 32
2.2.5使用控件 38
2.2.6触发器 47
2.2.7语言支持 55
2.2.8部署 57
2.3小结 57
第3章WPF应用程序深入剖析 59
3.1项目组成 59
3.1.1App.Manifest 61
3.1.2AssemblyInfo.cs 61
3.1.3Resources.resx 63
3.1.4Settings.settings 63
3.1.5MyApp.xaml 65
3.2.NETFramework3.0Windows应用程序 66
3.3XAML浏览器应用程序 68
3.4WCF服务库 70
3.5WPF自定义控件库 73
3.6小结 77
第4章使用MicrosoftExpression
Blend构建富用户界面:
第一部分 79
4.1概述 79
4.2设计环境 80
4.2.1工作空间面板 81
4.2.2艺术板 82
4.2.3配置环境 83
4.3项目结构 84
4.3.1添加一个新项目文件 84
4.3.2构建与部署一个项目 85
4.4创建向量对象 85
4.4.1形状 86
4.4.2路径 87
4.5使用属性面板操作对象 88
4.5.1变换面板 88
4.5.2画刷面板 88
4.5.3透明性、透明度与可见度 90
4.6操作文本 91
4.7管理布局 92
4.7.1用户界面布局面板 93
4.7.2其他布局控件 95
4.7.3嵌套布局面板 96
4.8动画 96
4.8.1时间线子面板 96
4.8.2关键帧 98
4.8.3为对象的属性添加动画 98
4.8.4运动路径 98
4.8.5触发器 99
4.8.6创建控件 100
4.8.7模板 102
4.8.8样式 103
4.8.9状态 103
4.8.10导入音频/视频媒体 104
4.9小结 104
第5章使用MicrosoftExpressionBlend构建富用户界面:
第二部分 105
5.1ExpressionBlend工作流 105
5.2处理用户输入 108
5.2.1键盘和鼠标类 108
5.2.2事件与事件处理 108
5.2.3定位 110
5.2.4命中测试 114
5.3WPF动画API 124
5.3.1动画类 124
5.3.2使用代码通过编程创建动态动画 124
5.3.3程序动画 127
5.4使用故事板进行交互 132
5.5WPF绘图API 134
5.5.1Geometry类 134
5.5.2Shape类 134
5.5.3画刷 138
5.6小结 141
第6章特殊效果 143
6.1画刷 144
6.1.1SolidColorBrash 144
6.1.2GradientBrush 150
6.1.3ImageBrush 153
6.1.4DrawingBrush 155
6.1.5VisualBrush 156
6.2位图效果 158
6.3变换 163
6.3.1TranslateTransform类 165
6.3.2ScaleTransform类 168
6.3.3SkewTransform类 171
6.3.4RotateTransform类 173
6.3.5透明掩码 176
6.4综合运用--组合效果 178
6.4.1具有反射效果的跳跃
小球示例程序 178
6.4.2动画图像观察器示例程序 184
6.5小结 190
第7章自定义控件 191
7.1概述 191
7.2控件基类 192
7.2.1UserControl类 193
7.2.2创建用户控件 193
7.3WPF中的数据绑定 202
7.3.1绑定标记扩展 202
7.3.2绑定模式 202
7.3.3数据模板 204
7.3.4数据转换 205
7.4创建和编辑样式 207
7.4.1为样式指定目标类型 208
7.4.2继承和覆盖样式 209
7.4.3样式触发器 210
7.5使用模板定制已有的控件 212
7.6小结 215
第8章WPF企业开发 217
8.1WPF应用程序模型 218
8.1.1单机应用程序 219
8.1.2基于浏览器的应用程序 221
8.1.3安全考虑 230
8.2状态管理 231
8.2.1Application对象 231
8.2.2独立存储 233
8.2.3状态管理示例程序 235
8.3导航 241
8.3.1导航元素 241
8.3.2结构化导航 242
8.3.3导航拓扑 252
8.4应用程序本地化 269
8.4.1自动布局指导原则 270
8.4.2使用网格以达到灵活性 272
8.4.3本地化属性和注释 273
8.5WPF部署模型 274
8.5.1生成应用程序 275
8.5.2部署单机Windows
应用程序 276
8.5.3部署XAML浏览器应用程序 277
8.5.4部署.NETFramework3.0运行库 278
8.6小结 280
第9章安全性 281
9.1WPF安全模型 281
9.2受信任的应用程序与Express应用程序 282
9.3核心操作系统安全性 282
9.3.1LUA 282
9.3.2虚拟化 283
9.3.3沙箱 283
9.3.4下一代密码 283
9.4CLR安全性 284
9.4.1代码访问安全性 284
9.4.2临界代码方法 291
9.4.3验证 292
9.5MicrosoftInternetExplorer的安全性 293
9.5.1区域限制 293
9.5.2XBAP沙箱工作区 294
9.5.3XAML浏览器应用程序的安全性 294
9.6ClickOnce安全性 301
9.6.1受信任的发布者 301
9.6.2个人证书文件 302
9.7.NET3.0安全性实用程序 305
9.8小结 305
第10章WPF与Win32交互 307
10.1Win32用户界面概述 307
10.2WPF和HWND如何交互操作 308
10.3在WPF中使用Win32HWND 309
10.4在Win32应用程序中使用WPF 312
10.5为WPF添加Windows窗体控件 314
10.5.1在代码中添加WindowsFormsHost 314
10.5.2在XAML代码中添加HwndHost 316
10.5.3为WPF添加ActiveX控件 316
10.5.4在XAML代码中添加ActiveX控件 321
10.5.5为Windows窗体添加WPF控件 322
10.5.6影响控件属性 326
10.6小结 328
第11章高级开发主题 329
11.1WPF体系结构 330
11.1.1核心子系统 331
11.1.2WPF线程模型 334
11.1.3桌面窗口管理器 335
11.2WPF框架 336
11.2.1Dispatcher对象 337
11.2.2DependencyObject/DependencyProperty类 337
11.2.3Application类 338
11.2.4Freezable类 339
11.2.5Visual类 339
11.2.6UIElement类 345
11.2.7FrameworkElement类 345
11.2.8Control类 346
11.3XAML深入分析 347
11.3.1XAML的后台工作 348
11.3.2动态操作XAML 352
11.3.3解析Window1.xaml 356
11.3.4XAML标记扩展 360
11.3.5XAML与自定义类型 360
11.4WPF多线程 362
11.4.1单线程应用程序模型 363
11.4.2线程关联度与DispatcherObject 363
11.4.3WPF分发器 364
11.4.4使用单线程应用程序 365
11.4.5异步线程 367
11.5Windows通信基础WCF 372
11.5.1服务定向 372
11.5.2WCF体系结构 373
11.5.3WCF基础 374
11.5.4构建一个WCF服务 376
11.6Windows工作流基础 383
11.6.1工作流定义 384
11.6.2WF体系结构 384
11.6.3WF基础 385
11.7小结 399
……
‘肆’ 《C#高级编程第7版中文版》pdf下载在线阅读全文,求百度网盘云资源
《C#高级编程第7版中文版》网络网盘pdf最新全集下载:
链接: https://pan..com/s/1FXs1DmYX0WGaevz5XYrcqg