WCF的RSET Service
发布与一般的“WCF应用程序”发布到IIS,没有什么区别!
[WebGet(UriTemplate = "")]
4. IIS测试成功,如要查看各服务帮助,使用类似URI:
http://localhost:8322/WcfRest/Service2/help
VS.NET自带的Development Server与真实的IIS区别还是比较大的,以后尽量用IIS测试!下一步研究将实现它的HTTPS发布,并实现自定义用户名和密码验证
5. jQuery调用WCF REST Service示例(测试时,发现Call基地址时,最好加上"/")
6.发布在IIS上,意外发现PUT和DELETE操作受限,返回405操作,最后找到的解决方案,在网站web.config中,
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<remove name="WebDAVModule" />
</modules>
7.WCF的身份验证
采用了ASP.NET 原有的Forms身份验证,对
基本思路,在WCF REST Service中实现一个LoginService,以Post方式提交用户名和密码, 这里遇到第1个问题,如何传递多个参数,当然可以用URL传,但没人想看到用户名和密码暴露,查资料,发现了窍门:
[WebInvoke(UriTemplate = "", Method = "POST",BodyStyle=WebMessageBodyStyle.WrappedRequest)]
基本思想就是通过了验证,则手工作一个Cookie返回去(加密了的),以后要请求网站资源,必须把Cookie带回来作验证,REST是以标准的HTTP协议实现,所以这点很容易。
Forms身份验证很容易配置,除了LoginService可以匿名访问,其它的一概不允许,当访问受限时,自动以GET方式访问LoginService,得到的提示是:非法用户。
后面我们用控制台以标准的HTTP方式访问,得到了正常的数据。
8.发布在IIS上,并以SSL加以保护,这是折腾我最久的:
要想SSL正常,有几个要点特别注意:
(1)Web.Config的配置
<bindings>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="3000000">
(2)服务器配置,防火墙高级设置,入站规则要加上433端口(可以在80后加,80,433)
测试正常,很完美,以下是测试代码: REST服务及调用
下一步的计划:实现WCF双向认证,角色权限研究,WCF RSET用上MSMQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!