首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WCF服务 - 运行时未在界面上看到ServiceContract

WCF服务是Windows Communication Foundation的缩写,它是一个用于构建面向服务的应用程序的框架。在WCF服务中,ServiceContract是一个用于定义服务协定的特性,它指定了一个接口,该接口定义了可以通过服务进行通信的操作。ServiceContract定义了服务的公共接口,以便客户端可以轻松地了解和使用服务。

如果在界面上没有看到ServiceContract,可能是因为该服务尚未实现ServiceContract特性。要在WCF服务中实现ServiceContract特性,需要按照以下步骤进行操作:

  1. 定义一个接口,该接口定义了服务的公共方法和属性。
  2. 在接口上添加ServiceContract特性。
  3. 在服务类上添加ServiceBehavior特性。
  4. 实现接口中定义的方法和属性。

以下是一个简单的示例:

代码语言:csharp
复制
[ServiceContract]
public interface IMyService
{
    [OperationContract]
    string GetData(int value);
}

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class MyService : IMyService
{
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
}

在上面的示例中,IMyService接口定义了一个名为GetData的方法,该方法接受一个整数值作为参数,并返回一个字符串。在MyService类中,实现了IMyService接口,并添加了ServiceBehavior特性。在GetData方法中,返回一个字符串,该字符串包含用户输入的值。

总之,ServiceContract是一个用于定义服务协定的特性,它可以帮助开发人员更轻松地构建和使用WCF服务。如果在界面上没有看到ServiceContract,请确保已经正确实现了该特性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • WCF系列教程之WCF服务协定

    本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一、服务协定简介: 1、WCF所有的服务协定层里面的服务接口,都有一个...ServiceContract的特性修饰,服务接口里面的操作方法都有OperationContract特性修饰,why?...,如URL 在WCF中,WSDL是元数据交换的一种数据格式,通过它的描述,WCF服务程序间就可以进行相应的数据交换,甚至是跨平台的应用间也可以进行数据交换。...二、服务协定ServiceContract属性: 1、服务契约加上ServiceContract特性修饰时,可以看到它有两个构造函数,一个是无参,一个有参。...具体请参考:WCF系列教程之WCF中的会话. (6)、CallbackContract:获取或设置当协定为双工协定时的回调协定类型。

    85270

    WCF简单教程(3) 试着去掉配置文件

    第三篇:试着去掉配置文件 通过配置文件来设置Host、Endpoint、Binding等是WCF中推荐的方法,这样可以使发布尽量灵活。...");             Uri tcpAddress = new Uri("net.tcp://localhost:8081/wcf");             //服务类型,注意同样是实现类的而不是契约接口的...,对应config中的多个         ├ ServiceContract    服务契约,对应config中的contract属性...,也来比对一下代码中现出的对象与App.config中的定义: ClientEndpoint        客户端终结点,对应config中的    ├ ServiceContract...但如果只能在程序运行时动态获取发布的相关参数,那App.config就不行了。 OK,又前进了一点,下一篇会看看如何传递复杂对象。

    49110

    关于WCF的一个非常“无语”的BUG!

    这是一个关于在你对WCF进行扩展的时候会经常碰到的问题,读者朋友们可以根据下面的步骤来再现这一个问题。 创建自定义行为(服务行为、终结点行为、契约行为和操作行为)是对WCF进行扩展最为常用的形式。...WCF运行时框架中:自定义特性(Attribute)和配置。...,你会看到如下的界面——这基本上可以表面我们的服务被成功发布。...页面上的错误信息表明:我们定义的行为扩展类型无法被WCF解析——仅仅删除了一个小小的空格,WCF就不能正确地解析类型,这彻底让我无语。在本章的开篇我已经说过,这个问题我在很多年前就遇到过。...因为我习惯于手工进行WCF的配置,在进行WCF扩展相关配置的时候,我经常发现我的服务访问不了,但是怎么也找不到问题的症结。然后通过VS提供的配置工具去配置,发现服务可以正常访问。

    47880

    年前辞职-WCF入门学习(5)

    第五集 How to make changes to WCF service without breaking clients (在不修改客户端的情况下更新WCF服务) 这集的大部分代码用的是第三集的内容...他的场景是这样的:假设我们已经写好了服务,但是某天重构代码的时候发现有个ServiceContract名字需要修改,服务端当然没事,改接口名字,改配置文件,一切顺利。...这集提供了一个解决方法,假设我们新的ServiceContract名字为IHelloServiceChanged,那么只需要修改他的ServiceContract特性的Name 属性,是不是很简单。...让我们来看一下两者的mex,通过地址栏里面输入 http://localhost:8080/mex 首先是原先的,我们搜索一下portType关键字,我们只截取关键的: 我们看到这里有个name属性,...我们知道,客户端在添加服务引用,然后生成本地的代理类的时候,是通过解析服务提供的mex地址中的xml描述信息来执行的,所以,我们只要让这个name还是保持原来的名字,服务端任他变动都没有关系。

    16360

    WCF入门学习(3)

    这一集主要有以下四个点 创建一个WCF服务 用一个控制台程序来托管这个服务 提供两个Endpoint 创建一个windows 和一个 Web客户端程序 先上一张上一集的图, 从图中可以看到...接下去是WCF的实现方式: 从图中可以知道,我们只需要写一个服务,然后配置两个Endpoint即可满足需求。 Let ‘s do IT。...至此,创建工作就已完成,接下去就是在控制台程序中托管这个服务。需要说明一点,WCF的托管对象可以是Winform,Console ,或者IIS,或者windows 服务以及其他。...为了托管这个WCF服务,我们需要给项目添加一个配置文件,用于托管这个WCF服务。...如图在serviceModel节点下面输入一个bindings元素,然后输入一个小于号,就可以看到所有的列表。

    42420

    WCF系列教程之WCF服务宿主与WCF服务部署

    如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。...WCF提供了统一编程模型,用于生成面向服务的应用程序。此编程模型保持一致且独立于部署服务运行时环境。 实际上,这意味着不管使用什么宿主选项,服务的代码看起来都非常类似。...通过使服务从 ServiceBase 类以及从 WCF 服务协定接口继承,将该服务同时实现为 Windows 服务WCF 服务。...5、Internet信息服务(IIS) 在IIS中承载WCF服务,之前已经创建了契约层和服务层,这里就不创建了。 第一步:新建IISHost空Web应用程序,作为WCF服务的宿主 ?...可以看到Calculate.svc服务寄宿失败,这是因为ServiceCalculator.svc启用的是net.tcp通讯,而在IIS中启用net.tcp通讯就必须依靠Windows 进程激活服务(也称为

    1.3K80

    默认终结点

    很多WCF的初学者是从之前的Web服务上转移过来的,他们非常怀念.asmx Web服务无配置的服务寄宿方式。...你只需要在定义Web服务的时候再表示服务操作的方法上应用WebMethodAttribute特性就可以了,完全可以不需要手工进行相应的配置,因为Web服务运行时会自动为你添加默认的配置。...但是对于WCF来说,在进行服务寄宿的时候,你必须以编程或者配置的方式为服务添加至少一个终结点,而终结点需要具备基本的ABC三要素。...对于最新版本的WCF编程人员来说,你也可以采用无配置的服务寄宿了,这主要得益于WCF提供的默认终结点机制。...之所以是四个默认终结点,其原因在于:WCF会为服务实现的每一个服务契约基于指定的每一个基地址创建一个终结点。

    76960

    WCF系列教程之WCF客户端调用服务

    1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象 二、操作实例 1、WCF...服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务。...三、归纳总结 通过上面的代码判断WCF客户端调用服务存在以下特点: 1、WCF服务端可客户端通过使用托管属性、接口、方法对协定进行建模。...上面两种方式都会从服务端的服务中下载元数据,并使用当前你使用的语言,将其转换成托管源代码文件中,同时还创建一个您可用于配置 WCF 客户端对象的客户端应用程序配置文件. 2、WCF客户端是表示某个WCF...因此当你在服务端创建了一个服务端协定,并对其进行配置后,客户端就可以通过生成代理类的方式(具体生成代理类的方式,上面已经提了)和服务端的服务进行通信,WCF 运行时将方法调用转换为消息,然后将这些消息发送到服务

    2.1K90

    如何在调用WCF服务之前弹出一个确认对话框?

    其实这个问题可以通过WCF的扩展来完成,具体来说这个扩展涉及到一个我们不太常用的组件“InteractiveChannelInitializer”,在我的《WCF全面解析》中对它有过概括性的介绍。...我们以Windows Form应用的方式编写了一个“计算器”,计算结果通过调用WCF服务来获取。在每次调用服务之前都会弹出一个确认对话框,真正的服务调用只有在用户确认之后方能进行。...InvocationConfirmationBehaviorAttribute )将上面自定义的InvocationConfirmationInteractiveChannelInitializer应用到客户端运行时...如下面的代码片断所示,在实现的ApplyClientBehavior方法中,我们创建了一个InvocationConfirmationInteractiveChannelInitializer对象并将其添加到客户端运行时的...ICalcualtor接口中: 1: [ServiceContract(Name = "CalculatorService", Namespace ="http://www.artech.com/

    1.3K90

    Enterprise Library深入解析与灵活应用(8):WCF与Exception Handling AppBlock集成

    但是,如果服务仅供你自己的应用所用,那么你可以在运行时动态地添加相应的错误描述,从而避免在服务契约的每一个服务操作方法上应用这么一个FaultContractAttribute。...1: [ServiceContract(Namespace = "http://www.artech.com/")] 2: public interface ICalculator 3: {...由于服务描述需要在ServiceHost开启之前生成方才有效(具体的原因,相对比较复杂,大家可以在《WCF技术剖析(卷1)》第7章关于服务寄宿的部分找到答案),所以我们将相关的逻辑定义在OnOpening...服务需要在基于IIS和WAS的寄宿方式中采用自定义的ServiceHost,还需要为之创建相应的ServiceHostFactory(关于ServiceHostFactory作用和用法,同样可以参阅《WCF...1: [ServiceContract(Namespace = "http://www.artech.com/")] 2: public interface ICalculator 3: {

    487110

    vs2012创建WCF应用程序

    WCF一直停留在理论阶段,只是知道服务端提供一个服务连接,在客户端配置后就可以实现前后台的分离,或是A系统通过WCF提供服务,发布出B系统所需要的接口,在B系统中添加服务节点,即可调用A系统的接口。...2.右击WcfService项目,添加“新建项”,建立自定义的“WCF服务” 这时会看到新建的testService.svc文件并与之对应的接口 3.在新建的类和接口里写相应的实现方法 ItestService...[ServiceContract] public interface ItestService { [OperationContract] string...服务程序就建好了,将testService.svc文件设置为起始页,运行看一下效果: 双击DoWork()方法,输入参数后可以看到对应的效果: 端就建好了,我们需要将服务端发布,可以是IIS...客户端 1.新建一个web应用程序 2.添加客户端的服务引用 点击转到,就可以看到服务端对应的服务接口 3.新建一个web界面,完成调用 我做的这个现在还没有发布,其实都是一样的,客户端在引用的时候引用发布后的地址就可以了

    89120

    2019-1-23-wcf入门(2)

    我们看到vs已经为我们提供了许多wpf的默认模板。 但是作为入门教程,建议大家创建一个.NET Framework 的控制台应用,然后一步步进行开发。 ?...因为WCF一开始设计是专用于windows平台的,而.NET Core是跨平台的。 在写这篇博客时,WCF在github有一个.NET Core相关的社区开源项目,正在实现.NET版本的WCF。...所以在这个系列的博客中都会采用.NET Framework 版本的WCF(以后不再对此做区分) 回归正题,首先我们需要建立一个协定 我们建立一个接口IHelloWorld 然后添加ServiceContract...不过光有服务不行,还需要服务对应的方法,比如这里使用OperationContract标记SayHello方法 ? 接下来就是对服务的实现 ? 接着我们就可以使用ServiceHost启动这个服务。...好,现在我们可以启动这个客户端了,这里需要指定下绑定方式为TCP,服务地址端口要正确。 ? 最后我们看下效果 ? 我们看到启动服务和客户端,客户端调用SayHello方法,服务端成功响应。

    40820
    领券