我快发疯了,我也读过10多篇关于stackoverflow的文章,说我正在以restful方式调用webservice,应该在服务和webconfig中启用它,所以我这么做了,但一旦我添加[WebGet()]属性,如果我删除它,就会出现这个疯狂的错误,然后就会无缝地调用服务
我在用
-
VS 2010 RC 1
-
IIS 7
-
Windows 7
这是我的密码
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode
=AspNetCompatibilityRequirementsMode.Allowed)]
public class Service2
{
[OperationContract]
[WebGet()]
public List<Table1> GetCustomers(string numberToFetch)
{
using (DataClassesDataContext context = new DataClassesDataContext())
{
return context.Table1s.Take(numberToFetch).ToList( );
}
}
}
还有我的ASPX页面代码
<body xmlns:sys="javascript:Sys"
xmlns:dataview="javascript:Sys.UI.DataView">
<div id="CustomerView"
class="sys-template"
sys:attach="dataview"
dataview:autofetch="true"
dataview:dataprovider="Service2.svc"
dataview:fetchParameters="{{ {numberToFetch: 2} }}"
dataview:fetchoperation="GetCustomers">
<ul>
<li>{{name}}</li>
</ul>
</div>
还有我的网络。配置代码
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="Service2AspNetAjaxBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="Service2">
<endpoint address="" behaviorConfiguration="Service2AspNetAjaxBehavior"
binding="webHttpBinding" contract="Service2" />
</service>
</services>
</system.serviceModel>
非常感谢你的帮助