wcf服务库 在 asp.net iis5 和 windows服务中的托管 ,最简单快速的方法
来源:互联网 发布:淘宝辅助软件有哪些 编辑:程序博客网 时间:2024/05/19 04:53
环境 windowsxp vs2008 ,
第一
打开 vs2008 ,新建一个 wcf服务库 项目 ,vs 会自动生成一个类,用于测试。
wcf服务库建立完成
第二
在解决方案中添加 新建 windows服务 项目,
在“设计”窗口中点右键 单击添加安装程序
这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。
单击 ServiceInstaller 组件并将 StartType 属性设置为Automatic
将serviceProcessInstaller类的Account属性改为 LocalSystem
然后添加4个引用
system.configuration
system.configuration.install
system.runtime.serialization
system.servicemodel
再把第一步建立的wcf服务库项目引用进来,
在 Service1.cs 中 添加代码 结果如下
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
ServiceHost s;
protected override void OnStart(string[] args)
{
s = new ServiceHost(typeof(WcfServiceLibrary1.Service1));
s.Open();
}
protected override void OnStop()
{
s.Close();
}
}
编译,不报错,
最后一步 把 wcf服务库项目 bin 文件夹 中的 config 文件 拷贝到 windows服务项目的bin 文件夹中并改名为 exe文件名+.config
例如 我的 windows服务项目 bin 中的exe文件名为 WindowsService1.exe,那么 config 文件名为 windowsService1.exe.config
测试 先安装windows服务 在 vs2008 命令行工具中 执行“installutil windowsService1.exe ”,安装成功后 ,在“管理工具-服务”中 启动 该服务, 再打开 config 文件 将 基址 url 复制 到 IE 中,看到说明 成功
到此 wcf服务库 在 windows服务中的托管 完成
第三
在解决方案中添加 新建 asp.net应用程序 项目,
把第一步建立的wcf服务库项目引用进来
复制wcf服务库项目 中app.config 配置信息
主机的 app.config 文件中。System.Configuration 不支持库的配置文件。-->
<system.serviceModel>
<services>
<service behaviorConfiguration="WcfServiceLibrary1.Service1Behavior"
name="WcfServiceLibrary1.Service1">
<endpoint address="" binding="wsHttpBinding" contract="WcfServiceLibrary1.IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8731/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WcfServiceLibrary1.Service1Behavior">
<!-- 为避免泄漏元数据信息,
请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
<serviceMetadata httpGetEnabled="True"/>
<!-- 要接收故障异常详细信息以进行调试,
请将下值设置为 true。在部署前
设置为 false 以避免泄漏异常信息-->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
可以将 <baseAddresses> 节点 删掉 无用, 还可以将 wsHttpBinding 改为 basicHttpBinding ,和 webservice 兼容
复制到 web.config 的 <configuration> 节点中,
然后 在 asp.net 项目 中添加 文本文件 文件名随便起,后缀必须为 svc 例如 s1.svc
在文件中添加
<%@ServiceHost language=c# Debug="true" Service="WcfServiceLibrary1.Service1"%>
注意:Service 后面 内容 要和 config 中 service 节点 name 一致 ,否则 找不到 服务,
测试 在ie 中 http://localhost:1055/s1.svc 看到说明 成功
到此 wcf服务库 在 asp.net iis 中的托管 完成
完整项目文件下载: http://download.csdn.net/source/1680096
- wcf服务库 在 asp.net iis5 和 windows服务中的托管 ,最简单快速的方法
- WCF中的服务和ASP.NET AJAX中的WebService
- 使用 Windows CardSpace 保证您的 ASP.NET 应用程序和 WCF 服务的安全
- FastReport的WCF托管到Windows服务的配置文件
- WCF 服务、托管、客户端 简单案例
- wcf学习--建立最简单的WCF服务
- wcf学习--建立最简单的WCF服务
- wcf学习--建立最简单的WCF服务
- 托管 WCF 服务
- WCF托管服务和客户端代理
- 简单的wcf服务
- WCF服务的IIS托管(应用程序)
- 如何与 ASP.NET 并行承载 Windows Communication Foundation (WCF) 服务以及在 ASP.NET 兼容模式中承载它们
- 在windows服务中寄宿wcf服务
- WCF寄宿IIS的asp.net 服务 基于Windows用户组的授权方式
- WCF服务的IIS托管(网站托管)
- 使用 ASP.NET 和 WCF 4.0 开发 RESTful 服务
- 在Windows Azure上使用WAS和IIS托管服务
- 顶尖
- s3c6410 irom 源代码分析
- cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法
- 欢迎您到来!
- The type initializer for 'TestStatic.StaticClass' threw an exception.
- wcf服务库 在 asp.net iis5 和 windows服务中的托管 ,最简单快速的方法
- Our College
- c语言静态库和动态库的编写
- 让/etc/profile文件修改后立即生效&&source的用法
- 指针初始化引出的问题
- 工作
- 为php提供ssh2的支持
- 我的第一面(1)——面试前
- 我是个菜鸟