我是一个尝试WCF的新手。我正在尝试使用android访问WCF,我遇到了麻烦,根据我的研究,json需要访问WCF,所以我尝试将其更改为json。
我将界面更改为对象类型并开始出现如下错误
The exception message is: The type 'AddItemService.Login', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found..]
我的界面方法:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "Login", BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
[Description("Returns the Login User ID")]
int GetUserId(Login login);
我的web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="AddItemService.Login"
behaviorConfiguration="RESTBehavior">
<endpoint address=""
binding="webHttpBinding"
contract="AddItemService.ILogin"
behaviorConfiguration="MyEndpointBehavior"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RESTBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="MyEndpointBehavior">
<webHttp helpEnabled="true"/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
</configuration>
我不知道为什么它不起作用。有人可以帮帮我吗?
答案 0 :(得分:1)
听起来像.svc文件中为WCF服务指定的服务类型(实际的标记文件,而不是代码隐藏文件)引用的服务类类型不存在。
如果右键单击Visual Studio中的.svc文件并选择“查看标记”,则该文件中ServiceHost指令的“Service”属性需要包含实现WCF服务接口的类的名称。听起来它正在引用AddItemService.Login
,但这不存在。