社区
Web Services
帖子详情
wcf服务如何以IIS为宿主进行发布?
shane007
2009-09-09 01:57:12
微软的wcf应用程序,如何在IIS上进行发布,有没有详细的步骤?
...全文
277
7
打赏
收藏
wcf服务如何以IIS为宿主进行发布?
微软的wcf应用程序,如何在IIS上进行发布,有没有详细的步骤?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
woaivs
2009-10-22
打赏
举报
回复
原文链接:http://www.cnblogs.com/owen-zhang/archive/2008/05/13/1195767.html
好处:采用以IIS作为宿主,就不必为Service专门建立一个host程序,部署也相对容易一些。
首先准备好测试用的WCF程序,这个例子只是做简单的求和计算,代码如下:
CalculatorService.svc(服务文件):
<%@ServiceHost Language=”C#” Debug="True" Service=" OwenZhang.WcfSamples.CalculatorService"%>
ICalculator.cs(定义服务契约):
[ServiceContract]
public interface ICalculator
{
[OperationContract]
int Add(int n, int m);
}
CalculatorService.cs(执行服务契约):
public class CalculatorService : ICalculator
{
public int Add(int n, int m)
{
return n + m;
}
}
注意: 假如你新建的项目类型是WebSite的话,ICalculator.cs和CalculatorService.cs文件位于App_Code文件夹下面。同样CalculatorService.svc要加上CodeBehind="~/App_Code/CalculatorService.cs"。
在Web.config文件中添加endpoint:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="OwenZhang.WcfSamples.CalculatorService">
<endpoint address="" binding="wsHttpBinding" contract="OwenZhang.WcfSamples.Samples.ICalculator" />
</service>
</services>
</system.serviceModel>
</configuration>
然后,在IIS中新建网站或虚拟目录,这我们在系统默认网站下面建立虚拟目录“C:\inetpub\wwwroot\CalculatorService”,然后将程序编译后的文件拷贝到CalculatorService目录中,就可以通过endpoint调用该服务了。
注意:假如你使用的是IIS 7.0(Windows Vista、Windows Server 2008环境),请确认WCF Activation(Server Manager->Features-> .NET Framework 3.0 Features)中的HTTP Activation(HTTP)和Non-HTTP Activation(Message Queuing,TCP和Named Pipes)已经安装上了,否则加载相关的服务会失败。另外,假如IIS中缺少识别.svc类型文件的应用程序扩展映射的话,你需要手动加上。
wanzhigang
2009-09-27
打赏
举报
回复
我是直接用VS2008发布的,创建一个基于WEB的WCF服务,编写完成之后,在项目上点右键,再选择发布就行了.
jking1989
2009-09-26
打赏
举报
回复
学习一下哈
成都慢生活
2009-09-16
打赏
举报
回复
由系统来完成的话,直接用新建网页的方式建立wcf
由自己来完成的话,写一个svc文件就好了。
发布和普通页面一样,在iis下建立页面,建立applicationpool就好了。
这里有几个链接:
http://blog.csdn.net/cryeyes/archive/2009/09/11/4541991.aspx
mail_ricklee
2009-09-16
打赏
举报
回复
参考FortunBase中
HelloWorldWCF.cs
参考地址www.cnblogs.com/mail-ricklee
shane007
2009-09-11
打赏
举报
回复
有谁成功发布过...
zhongjiekangping
2009-09-10
打赏
举报
回复
关注中, 把宿主 定义到 iis 上就可以了吧 个人认为
WCF
例子(
IIS
宿主
和Windows Form
宿主
)
分别用
IIS
作为
宿主
和Windows Form作为
宿主
的
WCF
例子
宿主
为
iis
的
wcf
服务
程序
此程序为以
iis
为
宿主
的
wcf
程序,具体创建过程,请参考我的博客
WCF
服务
演示程序(
IIS
宿主
)
WCF
服务
演示程序(
IIS
宿主
)
Wcf
创建及不同
宿主
方式(自托管,windows
服务
,
IIS
)
Wcf
创建及不同
宿主
方式(自托管,windows
服务
,
IIS
)
在非
IIS
宿主
中
发布
可以为SILVERLIGHT访问的
WCF
通常,我们在使用Silverlight的时候,选择数据提供层的一定是
WCF
。 我们一般
发布
自己的
WCF
服务
都很自然的打开VS,选择VISUAL C#,找到
WCF
,选择
WCF
Service Application一点确定就OK。 但我们知道,
WCF
可以寄宿在很多地方,假设某天某个蛋疼的需求来了,要求你把
服务
放到Winform上,或者以WindowsService的方式来
发布
? 拿到需求一看,嗤之以鼻,不就是自己创建ServiceHost么,一样的简单。 然后等我们把EXE一运行,照往常一般在Silverlight里引入,顺利,打开页面,调用。 嗯?异常了。仔细一看,原来是跨域问题,这个BUG简单,只需把跨域策略文件复制到根目录就行了。 嗯?根目录?可我是用Winform的方式来
发布
的呀,哪里来的根目录?
Web Services
12,162
社区成员
16,328
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章