如何在一个webservice 里面使用WCF的函数

问题描述

请问各位我想在webservice以及MVCcontrol处理的网页里面希望调用wcf的一个方法,请问要如何写代码webservice的函数如下定义publicclassClientAdaptor:System.Web.Services.WebService{[WebMethod]publicstringAttendance(intstudentID,stringstudentName,stringmac){//希望在这里调用wcf的函数!!!!!return“”;}我在ServiceReferences引用了wcf对象,如下:ServiceReferences.ServiceReference1.SilverLightMonitorManagerClient我在上面代码里面尝试过写如下代码:SilverLightMonitorManagerClientpoxy=newSilverLightMonitorManagerClient();//这里需要一个InstanceContext参数intresult=poxy.testForSiverlight(1,10);但是我不知道如何向SilverLightMonitorManagerClient的构造函数里面传参数。还有不知道这样调用的思路有无问题?MVC框架的control里面调用是否可以使用与webservice同样方法?请各位给点指点。

解决方案

解决方案二:
SilverLightMonitorManagerClient应该有不需要参数的构造函数把。一般情况下,使用Addservicereference...添加对WCF的引用,会有一些文件生成,其中一个代理类是重要的,你这里就是SilverLightMonitorManagerClient。还有会改写你的web.config后者某个web.config。如果不是改写的你的根目录下的config,你需要自己copy一下。config中定义了wcf的地址,contract,binding等。SilverLightMonitorManagerClient没有参数的构造函数会从config中读取信息。
解决方案三:
WCF引用简单的就通过添加服务或者svcutil来生成代理高端点的就自己写Channel
解决方案四:
直接newClientAdaptor()然后调用其方法就行了。如果你觉得这样比较怪异,那么你可以把Attendance方法中的实际的内容取出成为一个单独的“函数库”中的独立方法,然后在你的ClientAdaptor和其它地方都调用这个独立方法。这样“内外分开”比较明显。
解决方案五:
请问各位为何出这个问题。下面是我的webcongfig的内容,是有链接地址的:<system.serviceModel><bindings><customBinding><bindingname="PollingDuplexHttpBinding_ISilverLightMonitorManager"><binaryMessageEncoding/><httpTransport/></binding></customBinding></bindings><client><endpointaddress="http://localhost:19004/Model/core/SilverLightMonitorManager.svc"binding="customBinding"bindingConfiguration="PollingDuplexHttpBinding_ISilverLightMonitorManager"contract="ServiceReference1.ISilverLightMonitorManager"name="PollingDuplexHttpBinding_ISilverLightMonitorManager"/></client></system.serviceModel>
解决方案六:
请问,会不会与我建立的wcf是双工通信的对象有关系?这个是wcf的if的定义,红色部分有个特性:namespaceAssistantofAttendance.Web.Model.core{[ServiceContract(CallbackContract=typeof(IClientCallback))]publicinterfaceISilverLightMonitorManager{[OperationContract]stringload(intteacherID);[OperationContract]stringcheckPhoneStatue(stringclassID);[OperationContract]intsetStudentAttendanceStatue(stringclassID,intstudentID,intstatue);[OperationContract]intsetStudentPhoneSuperviseResult(stringclassID,intstudentID,intstatue);[OperationContract]intstartCompetitionAnswer(stringclassID);[OperationContract]intstopCompetitionAnswer(stringclassID);[OperationContract]intpublishAnswer(stringclassID,stringanswer);[OperationContract]inttestForSiverlight(intcount,intindex);//对于webservice[OperationContract]stringallotAttendanceRequest(intstudentID,stringstudentName,stringmac);[OperationContract]intallotCompetitionAnswerRequest(stringclassID,intstudentID,stringstudentName,stringanswer);[OperationContract]intallotHeartBeatrRequest(stringclassID,intstudentID,stringstudentName,intMonitedResults);[OperationContract]intallotQuestionRequest(stringclassID,intstudentID,stringstudentName,stringanswer);}publicinterfaceIClientCallback{[OperationContract(IsOneWay=true)]voidPushMessage(stringmessage);}}

时间: 2024-09-17 04:59:39

如何在一个webservice 里面使用WCF的函数的相关文章

WCF 回调函数时出错啦

问题描述 服务端接口usingQQServer.BaseClass;usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.Serialization;usingSystem.ServiceModel;usingSystem.Text;namespaceQQServer{//注意:使用"重构"菜单上的"重命名"命令,可以同时更改代码和配置文件中的接口名"

CLR 中匿名函数的实现原理浅析

函数 CLR 中匿名函数的实现原理浅析 C# 2.0中提供了通过delegate实现匿名函数功能,能有效地减少用户的薄记代码工作,例如 以下为引用: ...button1.Click += new EventHandler(button1_Click);...void button1_Click(Object sender, EventArgs e) { // Do something, the button was clicked...}... 可以被简化为直接使用匿名函数构造,如 以下为引用

F#学习之路(2) 深刻理解函数(下)

3.函数作用域 在F#中组织程序结构的方法有以下几种,使用类型 (type)来支持自定义数据类型,使用名称空间(namespace)来确保类型唯一,模块(module)则用来封装某一数据类型及其操作,而函数则封装了行为或业务逻辑.本文只简单介绍模块(module),其他内容将在下一主题中讨论. 函数是函数式语言中最基本的组成,是应用程序中具体业务逻辑的实现者,弄清其作用域非常必要. 在F#语言中,每一个源代码文件(本文仅指以.fs为扩展名的文件),其默认有一个以文件名首字母大写的模块名(modu

百度工程师讲PHP函数的实现原理及性能分析(二)

  这篇文章主要介绍了百度工程师讲PHP函数的实现原理及性能分析(二),本文讲解了类方法.性能对比.内置函数和用户函数性能对比等内容,需要的朋友可以参考下 类方法 类方法其执行原理和用户函数是相同的,也是翻译成opcodes顺次调用.类的实现,zend用一个数据结构zend_class_entry来实现,里面保存了类相关的一些基本信息.这个entry是在php编译的时候就已经处理完成. 在 zend_function的common中,有一个成员叫做scope,其指向的就是当前方法对应类的zend

Excel2016如何使用RANK函数实现组内排名

  单张工作表中的数据排名好说,但若在多张工作表之间进行数据排名,在不进行工作表合并的情况下如何实现? 某小团体举办跳远.百米.铅球三项运动会,分3组进行,组内要排名并设有奖项;团体内还要进行3个组的全员排名,也设有奖项.3个组的成绩分列于一组.二组.三组3张表中. 组内排名分别在各自的表中进行,容易实现.但跨组的全员排名会涉及到3张表中的数据,不是靠一张表就能完成的.那么,在不合并表格的情况下,如何进行全员排序?若某人成绩有变动,如何才能实现组内或全员成绩名次的联动? ● RANK函数实现组内

timesetevent windows-在一个进程中,连续调用函数timeSetEvent,定时器会不会有冲突

问题描述 在一个进程中,连续调用函数timeSetEvent,定时器会不会有冲突 1.调用函数timeSetEvent创建一个定时器A,每隔1000MS,进入回调函数发送一堆数据 2.调用函数timeSetEvent创建一个定时器B,每隔50MS,进入回调函数发送一堆数据 那么,如果在定时器A,在回调函数正在发送数据期间,定时器B也到时了,那么该怎么处理? 我自己试验了下,就不会在处理定时器B了,那么这个问题该怎么解决啊.

解析带有函数的字符串

问题描述 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 解决方案 解决方案二:你想要什么结果?解决方案三:引用楼主libo19872011的回复: 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 用c#动态编译吧..解决方案四:我实在datatable上进行操作的.就是在列之间进行的运算.比如:第二列值=abs(第一列)+2*(第二列值)之类的解决方案五:楼主搞编译原理吗?解决方案六:不是的啊,不知道这样功能怎样实现啊解决方案七:引用5楼libo19

Javascript的匿名函数小结_javascript技巧

一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function('x','alert(x);') 上面三种方法定义了同一个方法函数fnMetho

2014秋C++ 第11周项目 函数及其应用

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看. [项目1-函数版星号图]这一组的练习意在通过调用函数输出星号图,体会与理解函数的工作过程,并为其后编制自定义函数实现特定功能.(1)补充完下面的程序,使程序输出星号图: #include <iostream> using namespace std; void printstars