服务参考自动生成响应/请求

时间:2014-02-21 17:23:31

标签: c# wcf asp.net-mvc-4 linq-to-sql

我有一个使用Linq到Sql的Wcf项目 - 序列化模式=单向的Wpf项目和MVC 4项目。

我有一个类库,它正在为Linq Classes保存dbml。

另一个包含Wpf应用程序的ViewModel的类库

我可以向包含ViewModel的类库添加服务引用,并像普通

一样访问Wcf方法
client.DoStuff()

以下是ViewModel C的参考配置; ass库

enter image description here

生成正确的Reference.Cs

  [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IMyWebService/DoStuff", ReplyAction="http://tempuri.org/IMyWebService/DoStuffResponse")]
  MyDataProject.Data.DatabaseModels.DoStuff[] DoStuff();

当我为Mvc项目创建Web引用时:

(与上面相同的配置,但具有不同的ReferenceName)

执行相同的

client.DoStuff()

我收到错误 - 方法“DoStuff”有1个参数但是用0参数调用。

然后我查看Reference.cs文件

方法如下:

    [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IMyWebService/DoStuffResults", ReplyAction="http://tempuri.org/IMyWebService/DoStuffResultsResponse")]
    [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
    MyWebProject.MyWebSiteReference.DoStuffResultsResponse DoStuffResults(MyWebProject.MyWebSiteReference.DoStuffResultsRequest request);

取消选中引用程序集中的重用类型允许我正常访问该方法,但后来我得到类型不匹配。

他们是否因为在Mvc中使用Wcf而失踪?

编辑 - 我更新了我用于生成正确.cs

的Wpf客户端的参考

然后我按照回复试试了

enter image description here

生成此

    [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IMyWebService/DoStuff", ReplyAction="http://tempuri.org/IMyWebService/DoStuffResponse")]
    MyWebProject.MyWebSiteReference.DoStuffResponse DoStuff(MyWebProject.MyWebSiteReference.DoStuffRequest request)

0 个答案:

没有答案