Articles of wcf

从Linux Web应用程序中消费IIS托pipe的WCF服务

我负责创build一个Web应用程序( 可在Linux上的Firefox中查看 ),该程序使用在同一networking上的独立Windows 7计算机上托pipe的WCF服务(用C#编写)公开的数据以表格格式显示结果。 WCF服务不是返回格式化的HTML,而是返回结构,取决于客户端应用程序采取这些对象,提取数据并对其进行格式化。 不幸的是,我从事过任何一种networking技术的工作已经有几年了。 什么是解决这个问题的最好方法? 还有比REST / AJAX / JSON / jQuery技术更新的东西吗? 如果任何人都可以指出一些有用的和当前的资源,以正确的方式来完成这一点,将不胜感激。

单声道c#奇怪的地址已经在使用中的错误

这是我第一次使用单声道,我已经编译了一些准备好的代码,并尝试在我的Linux主机上使用,但我得到奇怪的错误。 我不是很熟悉C#的专家,但我可以pipe理代码。 我忘了提及,没有任何单一的应用程序使用端口5031.我甚至改变端口为随机数,但它仍然给出同样的错误。 Unhandled Exception: System.Net.Sockets.SocketException: Address already in use at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x00000] in <filename unknown>:0 at System.Net.Sockets.TcpListener.Start (Int32 backlog) [0x00000] in <filename unknown>:0 at System.Net.Sockets.TcpListener.Start () [0x00000] in <filename unknown>:0 at System.ServiceModel.Channels.NetTcp.TcpChannelListener`1[System.ServiceModel.Channels.IDuplexSessionChannel].OnOpen (TimeSpan timeout) [0x00000] in <filename unknown>:0 at System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan timeout) [0x00000] in <filename unknown>:0 at System.ServiceModel.Dispatcher.ListenerLoopManager.Setup (TimeSpan openTimeout) [0x00000] in […]

单声道WCF InstanceContextMode不工作

我有一个这样的服务: [ServiceContract(SessionMode = SessionMode.Required)] public interface ILabListener { [OperationContract] byte[] GetChallenge(); … … [ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.PerSession)] class LabListener : ILabListener { private byte[] challenge; public LabListener() { [challenge is initialized to random data from RNG] File.AppendAllText(Program.LogPath, String.Format("{1} – Starting LabListener session: {2}, challenge: {3}{0}", Environment.NewLine, DateTime.Now, OperationContext.Current.SessionId, Convert.ToBase64String(auth.Challenge.Take(16).ToArray()))); } public byte[] GetChallenge() […]

沟通策略:Linux到.Net over SSL

我们有两台需要通信的机器:基于Linux的网关和基于Windows服务器的应用程序。 在Windows机器端的软件是基于.NET的。 我们目前有使用自定义协议的基本tcp / ip套接字的通信。 我遇到的问题是: 1)使用原始套接字难以有效地拉动 – 我们可以利用哪些更高层次的抽象? 2)我们有一个实现SSL安全通信的未来要求 – 我的印象是,这个级别的工作很难做到 如果您打算在Linux和.net之间实现安全通信,那么您可以在两个平台上使用哪种技术? 一些其他可能有用的信息: 我是一个几乎没有Linux经验的.Net开发人员(其他人将实现Linux部分) 应假定Linux网关位于防火墙之后(连接必须来自网关) 通讯频繁 – 例如每分钟交换一次数据 Windows平台软件最终是一个请求数据。 (所以也许一个长期的投票策略可能是合适的) 如果网关是基于.net的,我想我会利用wcf和wsdualhttp绑定。 鉴于它是Linux,你会推荐什么样的策略? (libcurl +长轮询+ wcf的任何优点?) 编辑:一些不同的谷歌查询已经发现了gSoap。 也许这是我正在寻找…

检索运行WCF服务的AppPool的Windows标识

我需要validation运行我的WCF服务的底层服务器端帐户对本地文件系统上的各个点具有正确的ACL权限。 如果我能得到底层的Windows身份,我可以从那里拿走。 这折叠成部署后使用的更大的Powershell脚本。 下面是我的PowerShell的片段,即获得ApplicationPoolSid,你如何映射到AppPool的Windows身份 ? $mywcfsrv = Get-Item IIS:\AppPools\<MyWCFServiceName>; 更新下面包括基思的片段 为了完整性,这里是解决scheme: Function Get-WebAppPoolAccount { param ( [Parameter(Mandatory = $true, Position = 0)] [string] $AppPoolName ) # Make sure WebAdmin module is loaded. $module = (Get-Module -ListAvailable) | ForEach-Object { if ($_.Name -like 'WebAdministration') { $_ } }; if ($module -eq $null) { throw "WebAdministration PSSnapin […]

与多个用户的WCF REST服务基本authentication

我有一个基本身份validation的WCF REST服务。 我需要一个设置,让不同的客户端发送分配给他们的凭证,同时发出请求。 所以我需要允许多个用户的身份validation。 为了避免每个用户的自定义validation,我在系统中添加了我需要的许多用户。 所有这些用户,authentication将自动完成。 据我所知,在系统中增加最大用户数没有限制。 但是是否有可能大量的并发请求(每个请求具有不同的用户凭证)都可以工作? 或者在这种情况下是有限制的。 还有更好的方法吗?

Windows服务无法正常工作

我准备了一个WCF服务库和Windows服务的应用程序。 在Code项目的这个链接的帮助下,我已经完成了整个过程。 在创buildWCF的所有function之后,它成功构build并创build了WCF DLL文件。 现在,我在相同的解决scheme资源pipe理器中创build了Windows服务项目,以托pipe服务DLL。 在OnStart方法里面我写了下面的代码: namespace WindowsService1 { public partial class Service1 : ServiceBase { ServiceHost sHost; public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { sHost = new ServiceHost(typeof(WcfServiceLibrary1.Service1)); sHost.Open(); } protected override void OnStop() { sHost.Close(); } } } 为了添加WcfServiceLibrary1 ,我在这个服务中添加了WCF DLL的引用。 为此,请右键单击解决scheme资源pipe理器中的项目,然后select添加引用 。 要在引用中添加DLL,请在出现的窗口中select浏览选项卡,然后导航到WCF服务库所在的文件夹。 在那个位置,DLL可以在“bin \ Release”文件夹中find。 在添加引用后,它没有提供任何错误,但是当我正在构build解决scheme时,会出现以下错误: 无法findtypes或名称空间名称“WcfServiceLibrary1”(是否缺lessusing指令或程序集引用?) […]

gsoap wsdl2h在wcf wsdl文件上失败

我在wsdl文件上使用gsoap工具wsdl2h,该文件是在Visual Studio中为WCF服务添加服务引用时由Windows客户端自动生成的。 wsdl2h -o service.h service.wsdl ** The gSOAP WSDL/Schema processor for C and C++, wsdl2h release 2.8.9 ** Copyright (C) 2000-2012 Robert van Engelen, Genivia Inc. ** All Rights Reserved. This product is provided "as is", without any warranty. ** The wsdl2h tool is released under one of the following two licenses: ** GPL […]

单声道:是否有可能从控制台应用程序主机的Web / WCF服务?

我知道在.NET中,我们可以从一个控制台应用程序托pipewcf服务,而不需要像IIS或apache这样的web服务器。 是否可以在RHEL 5或CentOS上使用Mono 2.6.1? 任何文档的链接都将非常有帮助。

使用Apache2在Linux上进行WCF服务

我已经经历了几个例子(如下所示),希望能让WCF在Mono的4.0框架中工作。 为WCF安装Mono-Server Indigo Infocard 然而, http://www.mono-project.com/WCF上的链接似乎没有包含“指南”,所以可以说“这里是如何在Linux上用单声道来设置wcf”。 在旁边注意。 我想我已经检查了大多数wcf / mono关键字组合的谷歌的前两页无济于事。 是否有可能轻松获得WCF服务,并在Linux上? 我认为在apache2端可能有一些configuration? (我用Ubuntu 11.10运行灯服务器)。 我拿了股票4.0 WCF服务库,并testing部署到我的服务器和访问* .svc,看看我是否得到了WSDL,但是,我得到了一个500的状态代码。 至于替代品。 我在想, http://www.servicestack.net/可能是最好的? 所以有几个问题: 你可以让WCF轻松地在Linux上工作吗? 如果是这样,怎么样? (Windows很容易完成) SOAselect。 我应该看看asmx(wcf取代了这个),或者去服务堆栈。 我的目标(基本意义上)是将数据传递给一个服务,并使其计算工作。 没有任何回报。