Tag: 网络服务

.net Web服务最佳实践…… SRP?

什么被认为是.asmx或wcf服务类关于有多少文件,代码行,职责等的适当开发? 大多数人为每个class级的不同crud方法发布单独的.asmx服务文件吗?

对于WCF服务,没有证书的TransportWithMessageCredential是否足够安全?

我开发了一个WCF自托管服务,我有两个基本的安全要求,因为它将通过Internet访问: 传输层应防止篡改和嗅探,尤其是检索身份validation凭据。 这就是SSL所做的,但是从我所看到的设置SSL需要安装证书(除非可能通过这个使用普通证书文件的hack ),我不想这样做。 身份validation层应包含用户名/密码validation程序。 我配置我的服务使用: 即使传输层是HTTP(而不是HTTPS),这是否会使WCF创建另一个与SSL等效的安全层? 如果没有,安全强度方面有什么不同? 另外,有没有办法在不使用SSL证书的情况下保护元数据端点(不是必需的但是会受到赞赏)? 以下是我自托管服务的完整配置代码: 谢谢!

WCFexception:找不到与端点的scheme http匹配的基址

我正在尝试在IIS中的单独网站上托管WCF Web服务,其中https为443作为唯一绑定。 当我在使用绑定(http(80)/ https(443))的网站中使用它时,以下配置很有效。 如果我删除http绑定,它会开始抛出以下错误。 无法通过绑定BasicHttpBinding找到与端点的方案http匹配的基址。 注册的基地址方案是[https]。 如何在仅具有https绑定的IIS网站中使其工作? <!—->

WCF服务运行状况监视

我刚刚实现了WCF服务,我目前正在寻找服务监控选项。 我们当前仅托管java服务的服务器团队希望我们一直运行实例,因此它可以在其生命周期内收集该实例中的数据,并且他们表示他们将使用我们的一个操作与webmon获取统计信息。 但我们正在使用每次通话,我不认为这将在这种架构下工作。 我想知道是否有办法获取服务中的操作如何在一定时间内完成的统计数据,并为webmon提供另一个操作,使其在某个时间段内给出关于其性能的整数值,webmon,然后决定天气以提醒管理员。 我正在考虑解析日志文件以获取统计信息,但如果每15分钟完成一次,这可能是一项昂贵的操作。 如果不是我对wcf应用程序的详细自动健康监测的选择是什么?

学习WCF的基础知识

对于那些刚刚开始学习WCF的人来说 ,我应该先了解哪些主要/基本的东西并先学习? 您建议首先学习哪些概念,以便在WCF中高效? 您会向学习WCF的人推荐哪些资源/文章/培训/书籍? 例如,在C#中,可以在稍后阶段学习LINQ 。 沿着类似的路线,在WCF中也应该首先学习基础知识,然后将时间投入到高级function中以提高生产力。

使用不在证书库中的客户端证书

我正在尝试使用我的客户端证书对WebService进行身份validation,但是,由于某些原因(我解释),我不想从商店加载证书,而是从光盘读取它。 下列: // gw is teh WebService client X509Certificate cert = new X509Certificate(PathToCertificate); _gw.ClientCertificates.Add(ClientCertificate()); ServicePointManager.ServerCertificateValidationCallback = (a,b,c,d) => true; _gw.DoSomeCall(); 总是返回403 – 服务不授权我。 但是,当我将该证书保存到CertStore时,它可以工作。 (如MSDN中所述。) 是否可以使用不在商店的证书? (原因是,我得到Windows服务(客户端)有时会调用webservice(服务器),并且在未指定的时间后服务’忘记’我的证书并且没有对服务器进行授权,没有明显的原因)

用于VB的Wolfram Alpha API包装器不适用于C#

我在这个位置使用.NET的Wolfram Alpha API包装器 http://products.wolframalpha.com/api/libraries.html 然而,它是用VB.NET编写的,并为API的1.0版编写。 它无法使用。 有谁知道更好的API包装器?

‘System.ComponentModel.PropertyChangedEventHandler’无法从特殊类’System.MulticastDelegate’派生

我正在开发这里推荐的wcf服务。 它在开发原始.NET 2.0 Web服务时解决了我最初的命名空间冲突问题,但我遇到了另一个问题。 我试图传递给wcf服务的对象在客户端中用于聚合来自用户的一堆信息,并且它的一些字段被数据绑定到ui控件(因此实现了PropertyChangedEventHandler)。 当我尝试在我的客户端项目中编译由svcutil生成的代理时,我得到了标题这个问题的错误。 将所有数据从这个对象中拉出并放入一个类中进行发送(然后重建原始类型)似乎是多余的 – 更不用说花费很长时间了。 有解决方法吗?

使用Soap Client进行Windows身份validation的Web服务

我需要从ac#forms app访问web服务。 Web服务需要Windows身份validation。 我使用以下代码: ServiceDeskSoapClient sd = new ServiceDeskSoapClient(); sd.ClientCredentials.UserName.UserName = @”mydomain\myusername”; sd.ClientCredentials.UserName.Password = “mypassword”; sd.MyMethod(); 但是得到以下错误: The HTTP request is unauthorized with client authentication scheme ‘Anonymous’. The authentication header received from the server was ‘Negotiate,NTLM’. 如何正确设置凭据,以便它使用Windows身份validation,而不是匿名?

如何使用WCF服务生成XML输出?

我已经设置了以下界面。 [ServiceContract] public interface IService1 { [OperationContract] String Ping(); } 其实施如下。 public class Service1 : IService1 { public string Ping(){ return “Pong”; } } 根据VS中的测试应用程序,它在调用时正常工作。 我的问题是当我输入http:// localhost:12345 / Service1.svc (或者可能是Service1.svc?Ping或Service.svc / Ping )时,我希望文本显示在屏幕上。 它是完全关闭还是我吠叫正确的树? 当然,“ Pong ”最终将成为XML结构。 编辑 下面的@carlosfigueira回复中提供的设置为解决方案的建议提供了一个很好的结构,但不幸的是,当我使用F5运行时,我的机器上会出现错误消息。 似乎元数据是必需的,端点也是如此。