您好我在我的应用程序中使用WCF Rest,具有分层架构。我的数据流层次结构如下:
Data Layer -> Linq2Sql
||
Business Layer
||
WCF Rest Service
||
ASPX Pages
我使用JSON通过JQuery选择/删除和代码隐藏到插入/更新,这样我就可以通过我的业务层将.Net对象传递给数据库库(以检查我是否有业务逻辑)。使用WCF servive。
例如,我正在加密密码并在我的业务层中解密密码并将其发送到datalayer.Anyways,这不是问题。问题在于WCF服务配置设置。每当我得到如下的独特例外:
我尝试的是
根据Tom Haigh建议的答案。 受保护的Save_Click(发件人,e) {
var user = new User { Login = login.Value, 密码= pwd.Value, RealName = realname.Value, AccessRight = accessrights.Value, CustomAccesRight = customaccessrights.Value };
var remoteAddress = new EndpointAddress("http://localhost:2360/UserService.svc");
using (var client = new UserServiceClient(new BasicHttpBinding(), remoteAddress))
{
//set timeout
client.Endpoint.Binding.SendTimeout = new TimeSpan(0, 0, 0, 10000);
//call ws method
client.Insert(user);
} //using
}
我使用了一个尝试删除了,得到了错误400
受保护的Save_Click(发件人,e) {
var user = new User { Login = login.Value, 密码= pwd.Value, RealName = realname.Value, AccessRight = accessrights.Value, CustomAccesRight = customaccessrights.Value };
var remoteAddress = new EndpointAddress("http://localhost:2360/UserService.svc");
var client = new UserServiceClient(new BasicHttpBinding(), remoteAddress);
//set timeout
client.Endpoint.Binding.SendTimeout = new TimeSpan(0, 0, 0, 10000);
//call ws method
client.Insert(user);
}
我的服务配置文件:
<system.serviceModel>
<services>
<service name="EnergyManagementControl.WcfSvc.UserService" behaviorConfiguration="ServiceBehaviour" >
<endpoint name="" binding="webHttpBinding" contract="EnergyManagementControl.WcfSvc.IUserService" address="http://localhost:2360/UserService.Svc" behaviorConfiguration="web"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour" >
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
我的客户端配置文件
<system.serviceModel>
<client>
<endpoint
name = "Receptor"
address="http://localhost:2360/UserService.Svc"
binding = "wsHttpBinding"
contract="IUserService"
/>
</client>
</system.serviceModel>
但似乎没有任何帮助。我知道它的配置错误,请帮帮我。根据我的场景,任何有关WCF休息的简短参考都会有很大的帮助.....
请不要将WCF创建为WCF服务应用程序,而是使用我的Web应用程序在我的解决方案中的项目。请参见下图:
我在WebDev服务器上收到错误,而不是在IIS或Cassini上
答案 0 :(得分:0)
对于REST服务的WCF使用情况,我不能说太多,但是您的服务&amp;客户端端点绑定不匹配。 WCF使用绑定来查找匹配的端点。