Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >原 WCF学习之旅----基础篇之Ente

原 WCF学习之旅----基础篇之Ente

作者头像
魂祭心
发布于 2018-05-17 07:58:04
发布于 2018-05-17 07:58:04
51300
代码可运行
举报
文章被收录于专栏:魂祭心魂祭心
运行总次数:0
代码可运行

server

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.EnterpriseServices;
using System.Runtime.InteropServices;
[assembly: ApplicationName("hunjixinServicesTransactionTest")]//在组件服务浏览器里的名称  
[assembly: Description("Coded By ljli 2/14/2009")]//在组件服务浏览器里的描述信息  
[assembly: ApplicationActivation(ActivationOption.Server)]//启动类型Library在创建进程里激活,运行在客户进程,Server类型系统  
[assembly: ApplicationAccessControl(false)]//访问设置,关闭后,用户都可以访问 
namespace EnterpriseServicesCOMTest
{
    [EventTrackingEnabled(true)]//允许监视,组件对象浏览器可以看到。默认关闭,因为会降低性能  
    [Description("Coded By Frankljl For EnterpriseServices cacular Test")]//组件对象浏览器显示的描述信息  
    //[JustInTimeActivation(false)]//打开或者关闭JIT启动  
    [ObjectPooling(true, 1, 10)]//是否启用对象池,如果对象创建消耗更多的资源,可以考虑对象池  
    [Transaction(TransactionOption.Supported)]//是否需要支持事务特性
    public class Cacu : ServicedComponent  
    {
        public Cacu()
        { }
        public string fuc()
        {
            return "加减乘除运算";
        }
        public int add(int x, int y)
        {
            return x + y;
        }
        public int sub(int x, int y)
        {
            return x - y;

        }
        public int mul(int x, int y)
        {
            return x * y;

        }
        public int div(int x, int y)
        {
            if (y != 0)
            {
                return x / y;
            }
            else
            {
                throw new NotFiniteNumberException("除数不可为零");
            }

        }

        
    }
}

   这里有个需要注意的地方comvisible需要设置为可见,否则注册会失败。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(true)]

调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.EnterpriseServices;
using EnterpriseServicesCOMTest;
namespace EnterpriseServicesClient
{
    class Program
    {
        static void Main(string[] args)
        {
            using (EnterpriseServicesCOMTest.Cacu ca = new Cacu())
            {
                Console.WriteLine(ca.fuc());
                Console.WriteLine(ca.add(12, 13));
                Console.WriteLine(ca.sub(12, 13));
                Console.WriteLine(ca.mul(12, 13));
                Console.WriteLine(ca.div(12, 13));
            }
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
原 WCF学习之旅----基础篇之NET
公用类 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ServerObject {     public interface SayServer     {         string SayToServer(string word);     }     public class ServerObject:MarshalByRefObject,SaySe
魂祭心
2018/05/17
6260
C#基础知识回顾-- 反射(4)
从程序集获得类型   先说点题外话,现在技术真的发展太快了。我这边还很多东西半生不熟 呢,那边又出现了好多有趣的新东西让你眼红不已。学还是不学这还真是 个问题。Node.js 、bootstrap,我最近刚发现的新技术,其实他们已经 存在很久了,只是没有接触过而已。昨天晚上看Node.js一下子看到两点 多,感觉真是太有意思了^,有兴趣的可以去看看,大家多交流交流.   好了不废话了,在前面的示例中,几乎全部的MyClass信息都是通过反射得到的,但是有一个例外: MyClass类型本身。虽然前面的示例可以
hbbliyong
2018/03/05
6410
C#基础知识回顾-- 反射(4)
反射基础入门篇
1、简介 Reflection,中文翻译为反射。.Net的应用程序由以下几个部分组成: a、程序集(assembly) b、模块(moudle) c、类型(class) 而通过反射技术可以让程序员在允许期间获取这几个组成部分的关键信息。 2、程序集和命名空间的关系 程序集是.Net应用程序的最小执行单位,通过vs编译工具编译出来的.dll文件就是程序集。 程序集和命名空间的对应关系如下: a、一个程序集可以包含多个命名空间(命名空间名可以相同,如果命名空间相同,则类似parital关键字的效果) b、一个命
郑小超.
2018/01/26
7020
原 WCF学习之旅----基础篇之MSMQ
服务端 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Messaging; namespace BaseOfWcf {     class Program     {         static void Main(string[] args)         {             //if (!MessageQueue.Exists(@".\MYF
魂祭心
2018/05/17
4950
怎么使用Type类?
1、通过类获得Type:Type t = typeof(Person)(就是拿到这个类的名字)
静心物语313
2020/03/24
1.1K0
反射学习由浅入深
第一,引入:dll的引入方法  通过当前控制台应用程序的引用的添加(解决方案下的引用)     再到命名空间的引用(使用类中的引用)
wfaceboss
2019/04/08
3990
反射学习由浅入深
WCF系列教程之WCF客户端调用服务
1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象 二、操作实例 1、
郑小超.
2018/01/26
2.2K0
怎样反射程序集?
3、程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包(*)。
静心物语313
2020/03/24
5820
怎样反射程序集?
WCF系列教程之WCF客户端异常处理
本文参考自:http://www.cnblogs.com/wangweimutou/p/4414393.html,纯属读书笔记,加深记忆 一、简介 当我们打开WCF基础客户通道,无论是显示打开还是通过调用操作自动打开、使用客户端或者通过对象调用操作,或者关闭基础客户端通道,都会在客户端应用程序中出现异常,WCF是基于网络的通讯服务,错误异常也是要基于消息传递的,在WCF中提供了一个错误消息处理的类FaultException,WCF客户端可以通过它,来接收服务端传递回来的异常信息。 二、WCF异常类型 1、
郑小超.
2018/01/26
1.2K0
【专业技术】反射技术探究
反射 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为反射机制。反射机制动态获取方法并使用方法和自己直接创建一个类的对象去直接调用时完全不一样的。比如一个类里面有一个属性为private的属性或者方法,我们是不能直接去调用的,但是可以使用反射机制去动态调用。 IOC IOC最大的好处是把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于
程序员互动联盟
2018/03/16
7480
【专业技术】反射技术探究
c#之线程总结(一)
在我们做项目的时候会经常用到线程,但线程也不是万能的,用线程需要注意的东西也很多,自己做了一下总结 这次总结主要说三个部分 1 线程之委托方法 2 给线程传参 3 三种方法控制线程同步 我们先看一下小例子: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ThreadMethod { class Progr
lpxxn
2018/01/31
4740
c#之线程总结(一)
学习C#(一)
赶紧好好学学自己的C#,,要不然要给做的东西说拜拜了,,,时间紧迫,,,真担心会食言..................... 在C#中以为只要类有构造方法,,,,原来结构也有 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 结构 { class Program { public struct Rect {
杨奉武
2018/04/18
7330
学习C#(一)
原 数据字典+匿名委托模拟switch/c
基本思想每个case的选择值作为键,处理过程做成函数委托存放进数据字典。用的时候根据之调用。下面上代码 封装的FuncSwitcher类 using System; using System.Collections.Generic; namespace Test {     class FuncSwitcher<T>     {         int count;         Dictionary<T, Delegate> FuncGather;         Delegate defalutFu
魂祭心
2018/05/17
6640
WCF系列教程之WCF中的会话
本文参考自http://www.cnblogs.com/wangweimutou/p/4516224.html,纯属读书笔记,加深记忆 一、WCF会话简介 1、在WCF应用程序中,回话将一组消息相互关联,从而形成一个回话(回话可以理解为一段时间内的通话,有开始,有结束),会话是服务端和客户端的终结点在在开始回话和结束回话这段时间内的所有消息的一个集合。 2、WCF中的回话机制通过设置服务协定ServiceContract上的SessionMode的枚举值来设置服务协定是否要求、允许或者拒绝基于回话的绑定.枚
郑小超.
2018/01/26
9020
Razor模板解密
RazorEngine将模板cshtml编译成了。一个程序集,每次编译运行,都会产生一个程序集; 可以用一个控制台程序打印出来,生成的“动态程序集“的名字(动态程序集是不能打印出磁盘中的位置的)
静心物语313
2020/03/24
1.2K0
Razor模板解密
C# 中的函数与方法
Out 方法返回多个参数: 类似与C++中的多指针传递,就是说可以一次性传出多个参数。
王 瑞
2022/12/28
8110
.NET自带IOC容器MEF之初体验
本文主要把MEF作为一种IOC容器进行讲解,.net中可用的IOC容器非常多,如 CastleWindsor,Unity,Autofac,ObjectBuilder,StructureMap,Spring.Net等,这些第三方工具各不相同,但功能大体都相同,大都需要事先对接口与实现进行配对(通过代码或配置文件),然后由系统自动或手动来通过接口来获得相应实现类的实例,对象实例化的工作由IOC容器自动完成。
写代码的猿
2019/04/11
2K0
.NET自带IOC容器MEF之初体验
C# 语言程序设计笔记
C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。他是从C和C++派生而来的,其与C/C++语法非常相似,并依附于.NET虚拟机的强大类库支持,各方面对强于C/C++.
王 瑞
2022/12/28
4K0
C# 静态与动态数组
C#中的数组是由System.Array类衍生出来的引用对象,因此可以使用Array类中的各种方法对数组进行各种操作。
王 瑞
2022/12/28
1.7K0
WCF系列教程之客户端异步调用服务
本文参考自http://www.cnblogs.com/wangweimutou/p/4409227.html,纯属读书笔记,加深记忆 一、简介 在前面的随笔中,详细的介绍了WCF客户端服务的调用方法,但是那些操作全都是同步的,所以我们需要很长的时间等待服务器的反馈,如何一台服务器的速度很慢,所以客户端得到结果就需要很长的时间,试想一下,如果客户端是个web项目,那么客户体验可想而知,所以为了不影响后续代码执行和用户的体验,就需要使用异步的方式来调用服务。注意这里的异步是完全针对客户端而言的,与WCF服务契
郑小超.
2018/01/26
1.2K0
相关推荐
原 WCF学习之旅----基础篇之NET
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验