分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

WCF服务的IIS托管(网站托管)

发布时间:2023-09-06 01:26责任编辑:林大明关键词:暂无标签

基本思路

1、新建WCF应用程序
2、注册路由(可省略,则用/….svc/….访问)
配置文件

 ?<appSettings> ???<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> ?</appSettings> ?<system.web> ???<compilation debug="true" targetFramework="4.5.2" /> ???<httpRuntime targetFramework="4.5.2"/> ?</system.web> ?<system.serviceModel> ???<bindings> ?????<webHttpBinding> ???????<binding name="NewBinding0" /> ?????</webHttpBinding> ???</bindings> ???<services> ?????<service name="WcfService4.Service1"> ???????<endpoint address="/service" behaviorConfiguration="web" binding="webHttpBinding" ?????????bindingConfiguration="" contract="WcfService4.IService1" /> ?????</service> ???</services> ???<behaviors> ?????<serviceBehaviors> ???????<behavior> ?????????<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false --> ?????????<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> ?????????<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 --> ?????????<serviceDebug includeExceptionDetailInFaults="false"/> ???????</behavior> ?????</serviceBehaviors> ?????<endpointBehaviors> ???????<behavior name="web"> ?????????<webHttp /> ???????</behavior> ?????</endpointBehaviors> ???</behaviors> ???<!--<protocolMapping> ???????<add binding="basicHttpBinding" scheme="http" /> ???</protocolMapping>--> ???<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> ?</system.serviceModel> ?<system.webServer> ???<modules runAllManagedModulesForAllRequests="true"/> ???<!-- ???????若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。 ???????在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。 ?????--> ???<directoryBrowse enabled="true"/> ?</system.webServer>

访问uri:http://localhost:27472/Service1.svc/service/GetData/1
3、写接口和.svc(服务) 与WCF库完全相同
4、Release模式下生成项目并发布(避免源代码暴露)
5、IIS下托管
托管成网站(添加网站),确定端口
访问:http://localhost:端口号/Service1.svc/service/GetData/1
localhost可改为IP地址


注意

服务引用BLL、DAL+EF之类的,引用项目,并把相关配置拷贝到最后服务的配置文件里面
比如,数据库连接字符串,EF相关配置,其他功能授权相关内容等等


配置文件参考

服务器发布后的配置文件:(Web.config) ?<appSettings> ???<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> ?</appSettings> ?<system.web> ???<compilation debug="true" targetFramework="4.5" /> ???<httpRuntime targetFramework="4.5" /> ?</system.web> ?<system.serviceModel> ???<bindings> ?????<webHttpBinding> ???????<binding name="NewBinding0" /> ?????</webHttpBinding> ???</bindings> ???<services> ?????<service name="WcfService4.Service1"> ???????<endpoint address="/service" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="" contract="WcfService4.IService1" /> ?????</service> ???</services> ???<behaviors> ?????<serviceBehaviors> ???????<behavior> ?????????<!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false --> ?????????<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> ?????????<!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 --> ?????????<serviceDebug includeExceptionDetailInFaults="false" /> ???????</behavior> ?????</serviceBehaviors> ?????<endpointBehaviors> ???????<behavior name="web"> ?????????<webHttp /> ???????</behavior> ?????</endpointBehaviors> ???</behaviors> ???<!--<protocolMapping> ???????<add binding="basicHttpBinding" scheme="http" /> ???</protocolMapping>--> ???<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> ?</system.serviceModel> ?<system.webServer> ???<modules runAllManagedModulesForAllRequests="true" /> ???<!-- ???????若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。 ???????在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。 ?????--> ???<directoryBrowse enabled="true" /><!--以下是IIS托管后自动添加的部分--> ???????<handlers> ???????????<remove name="ISAPI-dll" /> ???????????<add name="test2" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="D:\WcfService4\bin\WcfService4.dll" resourceType="File" preCondition="bitness32" /> ???????????<add name="test" path="*.dll" verb="*" modules="IsapiModule" scriptProcessor="Dhua555:\WcfService4\bin\WcfService4.dll" resourceType="File" preCondition="bitness32" /> ???????</handlers> ?</system.webServer>

WCF服务的IIS托管(网站托管)

原文地址:http://www.cnblogs.com/Lulus/p/7873240.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved