Tag: #wcf

通过WCF服务传递枚举

我需要在项目中将Enum定义为我的WCF服务项目。 我正在创建一个包含枚举和其他数据的对象。 当我通过WCF服务将对象传递给客户端时,我得到一个未找到的。 枚举: public enum Color { Red = 1, Blue, Green, } 要传递的对象: public class MyObject { public Color ColorEnum { get; set; } public string Name{ get; set; } } 只有当我给对象一个默认值时,说ColourEnum = Color.Red才能使服务正常工作。 如果它没有设置它rest。 我知道这是一种解决方法,但我正在寻找一个更有意义的解决方案,而不是设置一个arb值。 而我只是想明白为什么它会破裂 提前致谢

我可以通过WCF服务创建自定义角色提供者吗?

我有一个通过wcf服务访问数据库的Web应用程序。 我们的想法是使用wcf服务从Web应用程序中抽象数据。 一切正常,但我也使用内置的角色提供者使用SqlRoleManager直接访问aspnetdb数据库。 我想通过在wcf服务中创建自定义roleprovider然后通过wcf服务访问它来抽象roleprovider。 我已经创建了自定义角色提供程序,它工作正常,但现在我需要将它放在一个wcf服务中。 因此,在我开始尝试通过WCF服务实现此function之前,我在Web应用程序中创建了第二个类,该类访问了roleprovider类并更改了我的web config roleprovider参数以使用该类。 所以我的roleprovider类叫做“UcfCstRoleProvider”,我的web.config看起来像这样: 我的class级开头是这样的: public class UcfCstRoleProvider : RoleProvider { private readonly WindowsTokenRoleProvider _roleProxy = new WindowsTokenRoleProvider(); public override string ApplicationName { get { return _roleProxy.ApplicationName; } set { _roleProxy.ApplicationName = value; } } 正如我所说,这很好。 因此第二个类称为BlRoleProvider,它具有与roleprovide相同的属性和参数,但不实现RoleProvider。 我将web.config更改为指向此类,如下所示: 但是我得到了这个错误。 “提供者必须实现类’System.Web.Security.RoleProvider’。” 我希望我已经解释得很好,以显示我想要做的事情。 如果我可以让roleprovider在同一个应用程序中通过另一个类工作,我相信它可以通过WCF服务工作但是如何通过这个错误? 或许我走错了路,有更好的方法去做我想做的事情?

如何限制每个客户端的WCF服务

我正在开发一项服务,该服务将在互联网上暴露给少数精选客户。 但是,我不希望一个客户端能够经常调用服务,以防止另一个客户端调用该服务,或者在合理的时间内响应。 我意识到WCF内置了许多限制配置设置,但据我所知,这些设置仅适用于整个服务。 是否有任何内置机制可以使我配置服务,使单个客户端只能执行(例如)10个并发呼叫或类似的? 这个问题与另一个问题有关: 几乎没有客户端在互联网上保护WCF服务的最佳方法 我还在努力确定是否需要,以及如何识别个人客户。

‘System.ServiceModel.Diagnostics.TraceUtility’的类型初始值设定项

尝试从C#/ .NET控制台应用程序使用WCF服务时出现此错误: System.ServiceModel.Diagnostics.TraceUtility的类型初始值设定项引发了exception。 的InnerException: {“Configuration system failed to initialize”} {“Unrecognized configuration section system.serviceModel/serviceBehaviors. (C:\\Users\\…\\Documents\\Visual Studio 2013\\Projects\\Test.Console\\ Test.Console\\bin\\Debug\\Test.Console.vshost.exe.Config line 7)”} WebConfig:

在WCF服务中触发并忘记

我在Azure上有一堆WCF REST服务。 在一些WCF服务中,我调用Http请求(比如发送Email / sms)到外部服务。 http请求非关键的第三方服务 。 我不希望这阻止我对客户端调用的响应。 需要一些关于在这种情况下使用的模式的指导。 这是我的wcf服务中的fire and forget模式。 WCF服务的伪代码 [WebInvoke(UriTemplate = “process”, Method = “POST”)] [OperationContract] public bool DoSomeProcessing(DataEntity data) { bool result = ProcessData(data); //I do not want this call to block SendSMS(); } //Call to third party public void SendSMS() { HttpWebRequest objWebRequest = null; HttpWebResponse objWebResponse = null; […]

如何在.NET Standard项目中“添加服务引用”

我想在.NET Standard项目中执行“添加服务引用”。(Visual Studio 2017) 我在NuGet上安装了“System.ServiceModel.Http”和“System.ServiceModel.Security”,以便使WCF访问成为可能。 但是,.NET Standard项目中没有“添加服务引用”菜单项。 如何添加服务引用? 它存在于.NET Framework项目中,但它在.NET Standard项目中不存在,因此遇到了麻烦。

WCF UserNamePasswordValidator – validation后访问凭据

我使用UserNamePasswordValidator类作为WCF的UserName安全性的一部分。 这一切都很好,类的Validate函数被调用并正常工作。 那么如何才能找到我的服务function中使用的UserName ? 例如,假设客户端使用类似的东西连接并请求日志列表 IList Logs() { … } 该函数如何知道该请求使用了哪个UserName? 我想要做的是记录UserName调用服务中的哪个函数。

可在WCF和ASP .NET应用程序中使用的缓存(.NET 3.5)

我需要缓存工具,它应该从WCF和ASP .NET应用程序中工作。 我见过: System.Web.Caching.Cache ,它不能从WCF中使用(据我所知它只有在IIS中托管服务时才可用,但情况并非总是如此) System.Runtime.Caching可以从两个中使用,但只能从.NET 4获得,但我们的.NET版本是3.5。 有什么建议?

如何在WCF / REST服务中向Response添加多个cookie

我可以访问WebOperationContext并可以通过这样做添加一个cookie: WebOperationContext.Current.OutgoingResponse.Headers.Add(“Set-Cookie: foo_a=bar_a”); 但是如果我多次打电话,例如: WebOperationContext.Current.OutgoingResponse.Headers.Add(“Set-Cookie: foo_a=bar_a”); WebOperationContext.Current.OutgoingResponse.Headers.Add(“Set-Cookie: foo_b=bar_b”); 我应该在我的标题中获得以下内容(2个cookie): Set-Cookie: foo_a=bar_a Set-Cookie: foo_b=bar_b 而是得到: Set-Cookie: foo_a=bar_a, foo_b=bar_b 如何设置多个cookie? 谢谢

Ninject – 静态类中的内核?

是否正确使用所需的NinjectModule在一个单独的共享库中的静态类中“包装”一个StandardKernel并在需要注入时使用相同的库(而不是每次都实例化一个新内核)? 编辑:我正在尝试从我正在开发的WCF服务中使用Ninject。 (如果我刚开始学习DI和IoC容器,我说的话完全不好意思,请耐心等待)