设为首页 收藏本站
查看: 1694|回复: 0

[经验分享] 一步步教你创建.NET 4服务并且寄宿在IIS 7.5中

[复制链接]

尚未签到

发表于 2015-8-12 11:05:59 | 显示全部楼层 |阅读模式
  本文译自Walkthrough on creating WCF 4.0 Service and Hosting in IIS 7.5
  最近在学习WCF的时候。寄宿IIS7.5这部分总是搞不定。搜了很长时间。发现也是很多文章也是人云亦云。根本通不过。于是组合了一下关键字,搜了一下英文的文章。总算是搞定了。

目标
  本文将会一步步教给你


  • 怎么样创建一个基本的 WCF 4.0 服务?
  • 怎么样把WCF服务寄宿在IIS 7.5?
  • 客户端如何测试服务可用

创建WCF服务
  创建WCF服务,打开VS,选择新工程,然后从WCF的标签页里,选择WCF服务应用程序,来创建一个新的WCF服务。

  在IService1 .cs 和Service1.svc.cs中删除WCF自己添加的默认的代码。
  a. 因此删除了数据契约
b. 修改服务契约如下. 仅仅写一个方法契约返回一个字符串
  IService1.cs









usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Runtime.Serialization;
usingSystem.ServiceModel;
usingSystem.ServiceModel.Web;
usingSystem.Text;
namespaceWcfService5
{
[ServiceContract]
publicinterfaceIService1
{
[OperationContract]
stringGetMessage();
}  
}
  
  Service1.svc.cs



usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Runtime.Serialization;
usingSystem.ServiceModel;
usingSystem.ServiceModel.Web;
usingSystem.Text;
namespaceWcfService5
{
publicclassService1:IService1
{
publicstringGetMessage()
{
return"Hello From WCF Service ";
}
}
}

配置文件就保留为WCF默认的就行了  
  Web.Config









<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true"targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
  

寄宿WCF服务在IIS7.5中
  打开IIS
  a. 使用管理员权限打开命令行. 点击开始->运行 输入“inetmgr”打开 IIS .

  然后你就会到下面这个地方。

  b. 在“网站”上右击,点击“添加新网站”

  c. 然后就打开了新窗口

  网站名字随便给。. 我给了个叫做 HostedWcfService的名字

  然后点击选择,在应用程序池选择 ASP.Net v4.0,(ps:如果没有的话是IIS没装全)

  现在在物理路径这里,我们需要把服务的物理路径填上,为了知道这个物理路径,我们在VS里,资源管理视图的的我们的WCF工程上点击右键,选择在windows资源管理器打开。然后从资源管理器的地址栏把那个地址复制下来。或者你如果很清楚的话自己在浏览里找到就行了

  然后再绑定这里我们选择 HTTP. 给个任意的端口数字. 我写个4567

  主机名就不要乱填了,. 留空即可

  立即开始网站的选项也选上。

  点击ok。
  d. 然后以管理员权限打开Visual Studio 命令提示(2010).

  

  输入如下命令
  aspnet_regiis.exe /iru

  一会会告诉你安装完成 ASP.Net 4.0(注意,有些人可能在前面的应用程序池那块没有.net 4 的选项,可以先把这一步做了再去执行前一步。)
  e. 然后去 IIS, 会发现网站已经好了


发布WCF服务
  回到我们的VS中的 WCF 服务项目. 右击选择发布。

  On clicking of publish a window will come.

  给一个服务的URL,你随意给,只要保证名字唯一确定即可,服务名以svc结尾就好

  把前面创建的网站的名字 HostedWcfService 写到下面.

  证书这块就不要了

  Now click on Publish.

  点击发布后提示发布成功
  在IIS中浏览服务
  打开IIS,然后在 HostedWcfService.网站上点击右键 ->管理网站->浏览

  当你点击浏览。会出现下面的情况

  会得到上面的错误。但是这都不是事,在URL后面加上 Service1.svc 就打开了
  http://localhost:4567/Service1.svc
  在浏览器里你可以看到服务已经正常运行了

  现在你已经成功的创建了 WCF 4.0 服务并且寄宿在了 IIS 7.5中

在客户端测试WCF服务
  a. 创建一个控制台工程

  b. 右键点击,添加服务引用

  c. 给出服务的地址,点击前往,(或者直接点击发现)选中服务,点击确定

  d. 如下使用服务
  Program.cs









usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingConsoleApplication1.ServiceReference1;
namespaceConsoleApplication1
{
classProgram
{
staticvoidMain(string[]args)
{
Service1Client proxy=newService1Client();
Console.WriteLine(proxy.GetMessage());
Console.Read();
}
}
}
  
  输出结果。

  原文链接:http://leaver.me/archives/1245.html
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97857-1-1.html 上篇帖子: 注册asp.net 4.0 到iis 下篇帖子: 化零为整WCF(5)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表