wcf

How do I get IIS to load a native DLL referenced by my WCF service?

落花浮王杯 提交于 2020-01-31 05:02:20
问题 I have a WCF service that contains some C# code, which references a C++/CLI dll, which references some native DLLs. I include all of the necessary DLLs in the bin folder for my IIS application, but when IIS loads the managed DLLs, it seems to be copying them to a deep directory like: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\testwcf\73473be6\e625098c\assembly\dl3\aada7c33\85a7332b_2f9acc01 It copies each managed DLL to its own directory and loads it. When it gets

What is the difference between SOAP and REST webservices? Can SOAP be RESTful?

人盡茶涼 提交于 2020-01-31 03:27:58
问题 From MSDN magazine https://msdn.microsoft.com/en-us/magazine/dd315413.aspx and https://msdn.microsoft.com/en-us/magazine/dd942839.aspx I understand that When RESTful endpoints are asked for data using HTTP, the HTTP verb used is GET. Using REST means that you can take advantage of HTTP caching and other features, like Conditional GET, that aid in scaling services. Many of these techniques can't be used with SOAP because SOAP uses POST only over HTTP. From the Wikipedia page http://en

REST下的WCF的寄宿方式

回眸只為那壹抹淺笑 提交于 2020-01-31 00:22:53
  如同SOA下的WCF,REST架构下的WCF也有多种多样的寄宿方式,如IIS寄宿,自寄宿等等,即使它只有一种协议。 由于REST基于HTTP协议的特点,所以这种架构下的WCF寄宿时,需要有Web服务器的支持。那么很显然,微软肯定会使用 自己的Web服务器IIS了。 本节目录: 1、IIS寄宿 2、控制台程序寄宿(暂且将它称为自寄宿) 当然,REST WCF还有其他的寄宿方式,我这里只挑出典型的两种给大家介绍。有兴趣的朋友不妨试试其他的寄宿方式。 本节中所使用的实例还是上节所使用的例子。Demo结构图如下: 结构说明:Client为服务消费者,Contracts定义服务契约、数据契约,Services定义服务的实现,SelfHost、WebHost:自寄宿、IIS寄宿程序宿主程序 在IIS或者自寄宿中使用同样的服务契约。服务契约的定义如下: [ServiceContract] public interface ILog { [OperationContract] [WebGet(UriTemplate = "/")] List<LogEntity> GetAll(); [OperationContract] [WebGet(UriTemplate = "/Log/{year}/{month}")] List<LogEntity> GetMonthLog(string year,

WCF学习之旅—WCF寄宿前的准备(八)

ⅰ亾dé卋堺 提交于 2020-01-31 00:12:26
一、WCF服务应用程序与WCF服务库    我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”。 WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类协定的定义,可以直接看到运行的效果。 WCF服务库,可以认为是一个包含WCF服务以及协定定义的类库。不能直接运行,你可以在其他项目里引用,在宿主里启用托管这个库,有点类似于我们在Web/windows项目中应用的类库。考虑WCF服务设计的时候,服务类的定义为单独的库,可以为其它项目使用。提高代码的复用性。   当然你也可以修改这些代码,比如把WCF服务程序里的类,移到一个单独的类库里,或是把类库里的类移到WCF服务程序中。 二、寄宿概述   通过前面的介绍我们知道,WCF在运行时必寄宿在“宿主程序”之上,WCF本身不能够独自运行(每个WCF服务必须宿主在一个Windows进程中)。.net 提供了多种宿主供WCF运行,WCF还是非常灵活的。 WCF的宿主可以是 Windows 服务、COM+应用程序、WAS(Windows Activation Services,Windows进程激活服务)或IIS、Windows应用程序,或简单的控制台应用程序及任何.net程序。 三、创建WCF服务库为多种寄宿做准备 1) 打开Visual Studio 2015,在菜单上点击文件—>新建—>项目—

WCF开发实战系列二:使用IIS发布WCF服务

不羁的心 提交于 2020-01-31 00:09:22
上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试。这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署。这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务。 第一步:打开我们上一篇文章中建立的WCF服务项目。 图《1》 第二步:新建WCF服务站点。 在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,我们选择“WCF服务”,并把网站的名子命名为“BookServiceHost” 图《2》 建立起来的新的WCF服务站点的结果如下,其中在App_Code文件中自动为我们生成两个类文件:IService.cs和Service.cs。这两个文件对我们来说没有用,我们删掉。 图《3》 第三步:在刚刚创建的WCF服务站点上添加对WCF服务库项目--Services项目的引用。 图《4》 第四步:配置Service.svc文件。 双击Service.svc文件,我们可以看到它的声明指示如下: <%@ ServiceHost Language="C#" Debug="true" Service="Service" CodeBehind="~/App_Code/Service.cs" %>

WCF开发实战系列二:使用IIS发布WCF服务

泪湿孤枕 提交于 2020-01-31 00:02:44
(原创:灰灰虫的家 http://hi.baidu.com/grayworm ) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试。这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署。这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务。 第一步:打开我们上一篇文章中建立的WCF服务项目。 图《1》 第二步:新建WCF服务站点。 在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,我们选择“WCF服务”,并把网站的名子命名为“BookServiceHost” 图《2》 建立起来的新的WCF服务站点的结果如下,其中在App_Code文件中自动为我们生成两个类文件:IService.cs和Service.cs。这两个文件对我们来说没有用,我们删掉。 图《3》 第三步:在刚刚创建的WCF服务站点上添加对WCF服务库项目--Services项目的引用。 图《4》 第四步:配置Service.svc文件。 双击Service.svc文件,我们可以看到它的声明指示如下: <%@ ServiceHost Language="C#" Debug="true" Service="Service"

WCF开发实战系列二:使用IIS发布WCF服务

[亡魂溺海] 提交于 2020-01-30 22:49:14
(原创:灰灰虫的家 http://hi.baidu.com/grayworm ) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试。这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署。这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务。 第一步:打开我们上一篇文章中建立的WCF服务项目。 图《1》 第二步:新建WCF服务站点。 在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,我们选择“WCF服务”,并把网站的名子命名为“BookServiceHost” 图《2》 建立起来的新的WCF服务站点的结果如下,其中在App_Code文件中自动为我们生成两个类文件:IService.cs和Service.cs。这两个文件对我们来说没有用,我们删掉。 图《3》 第三步:在刚刚创建的WCF服务站点上添加对WCF服务库项目--Services项目的引用。 图《4》 第四步:配置Service.svc文件。 双击Service.svc文件,我们可以看到它的声明指示如下: <%@ ServiceHost Language="C#" Debug="true" Service="Service"

WCF开发实战系列二:使用IIS发布WCF服务

蓝咒 提交于 2020-01-30 22:42:35
WCF开发实战系列二:使用IIS发布WCF服务 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试。这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署。这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务。 第一步:打开我们上一篇文章中建立的 WCF 服务项目。 图《1》 第二步:新建 WCF 服务站点。 在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,我们选择“WCF服务”,并把网站的名子命名为“BookServiceHost” 图《2》 建立起来的新的WCF服务站点的结果如下,其中在App_Code文件中自动为我们生成两个类文件:IService.cs和Service.cs。这两个文件对我们来说没有用,我们删掉。 图《3》 第三步:在刚刚创建的 WCF 服务站点上添加对 WCF 服务库项目 --Services 项目的引用。 图《4》 第四步:配置 Service.svc 文件。 双击Service.svc文件,我们可以看到它的声明指示如下: <%@ ServiceHost Language="C#" Debug="true" Service="Service"

WCF Discovery simply doesn't work

混江龙づ霸主 提交于 2020-01-30 16:54:40
问题 I'm trying to add ad-hoc discovery to a simple WCF service-client setup (currently implemented by self hosting in a console app). Debugging using VS2010 on windows 7, and doing whatever I can find in online tutorial, but still - the discovery client simply finds nothing. Needless to say if I open a client to the correct service endpoint I can access the service from the client. service code: using (var selfHost = new ServiceHost(typeof(Renderer))) { try { selfHost.Open(); ... selfHost.Close()

WCF Discovery simply doesn't work

廉价感情. 提交于 2020-01-30 16:52:24
问题 I'm trying to add ad-hoc discovery to a simple WCF service-client setup (currently implemented by self hosting in a console app). Debugging using VS2010 on windows 7, and doing whatever I can find in online tutorial, but still - the discovery client simply finds nothing. Needless to say if I open a client to the correct service endpoint I can access the service from the client. service code: using (var selfHost = new ServiceHost(typeof(Renderer))) { try { selfHost.Open(); ... selfHost.Close()