Tag: web services

我可以通过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服务工作但是如何通过这个错误? 或许我走错了路,有更好的方法去做我想做的事情?

获取错误:“在SQL中将数据类型nvarchar转换为数字时出错”

我将4个参数传递给asp.net Webservice。 这是我的代码到目前为止: WEBMETHOD: [ScriptMethod(ResponseFormat = ResponseFormat.Json)] [WebMethod] public List Raum(string RAUMKLASSE_ID, string STADT_ID, string GEBAEUDE_ID, string REGION_ID) { return RaumHelper.Raum(RAUMKLASSE_ID, STADT_ID, GEBAEUDE_ID, REGION_ID); } 助手类: public class RaumHelper { public class RAUM { public string RaumName { get; set; } public string RaumID { get; set; } } internal static List Raum( string RAUMKLASSE_ID, […]

关于在c#Desktop应用程序中使用php web服务的问题

我正在开发ac#desktop应用程序并使用在我尝试使用该应用程序时在php应用程序中开发的webservies。 我只是添加该Web服务的Web引用,并尝试通过以下代码访问 WebReference.TestWSDL pdl = new testingApp.WebReference.TestWSDL(); string copy = pdl.verify(“testing”); 当我尝试调用方法validation时,它会抛出错误。 错误是 可能的SOAP版本不匹配:Envelope命名空间http://schemas.xmlsoap.org/wsdl/是意外的。 期待http://schemas.xmlsoap.org/soap/envelope/ 。 和Web服务链接就像 http://171.139.101.12/code/index.php/webservice/wsdl

‘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:

用于从wsdl创建代理类的wsdl.exe的替代方法

wsdl.exe似乎是.Net从wsdl生成代理类的默认工具。 它已知问题 (见这里和这里 ,也有一些SO 问题 )。 是否有替代代理类生成器? 我没有做WCF,因此svcutil.exe等工具可能无法使用。

WCF服务不是multithreading的

我正在设计WPF应用程序使用的WCF服务。 该服务将由50个客户端使用并托管在多核服务器上。 这就是为什么我希望它是multithreading的。 这就是我宣布它的方式: [ServiceContract( SessionMode = SessionMode.Required, Namespace = Constants.NameSpace, CallbackContract = typeof (ISaphirServiceCallback))] public interface ISaphirService [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode=InstanceContextMode.PerSession)] public partial class SaphirService : ISaphirService 和服务器端配置: 这是客户端配置: 问题是,每个请求都在同一个线程上处理。 我在互联网上查了很多但是一切对我来说都很好…… 你们有什么想法吗? 谢谢 !

网络电话永远不会超时

我有许多使用各种Web技术的应用程序,例如SOAP,WCF服务或简单的XmlReader。 然而,如果互联网连接在错误的时间遇到​​问题,它们似乎都会遇到错过超时和无限悬挂的问题。 我已经将所有场景中的超时设置为小的,例如对于wcf closeTimeout=”00:00:15″ openTimeout=”00:00:15″ receiveTimeout=”00:00:15″ sendTimeout=”00:00:15″ 或肥皂 _Session.Timeout = (int)TIMEOUT.TotalMilliseconds; 这些超时通常会被击中,但是看起来有一些特殊情况,如果互联网在正确的时间退出,呼叫将挂起并且永远不会超时(使用同步呼叫)。 我正在考虑每次拨打电话时启动一个计时器,并在计时器到期时使用相应的.Abort()函数取消呼叫。 但是,我想知道是否有更简单的方法来解决问题并确保超时被击中。 有谁知道为什么会发生这种情况,如果是这样,干净/简单/好的方法是什么,以确保呼叫总是超时?

是否可以使用webproxy将URL重定向到另一个url(例如fiddler)

我正在尝试解析另一个服务器中的WSDL文件,但在整个文档中都有硬编码的“localhost”。 当我拿到它时,显然该程序抱怨“连接被拒绝”,因为我的机器中没有运行任何东西。 我的问题是:是否可以使用webproxy(如fiddler)将这些localhost请求重定向到我的其他服务器,以便完成WSDL引用? : – / 谢谢 ps我可以随时修复遥控器“wsdl”,但负责人将在这里待到下周,我想今天开始工作。

.NET Web服务无法生成临时类

我正在尝试在我的.NET Web应用程序中实例化一个Web服务。 但是一旦遇到这条线: registerService register = new registerService(); 然后我收到以下错误: 无法生成临时类(result = 1)。 错误CS0030:无法将类型’Test.Website.ProxyTest.registerType []’转换为’Test.Website.ProxyTest.registerType’ 我没有写网络服务。 但这是否意味着Web服务在某处出现错误(在XSD或其他什么地方)? 这是否意味着第三方开发人员需要修复此Web服务?

为什么我得到这个XML块的org.xml.sax.SAXException?

我已经匿名了一点。 希望它不会减损有用的信息。 stringARRAY是我认为我被抛出的地方,但我不确定,所以如果我看错了地方,lemme就知道了。 来自WSDL 实际方法调用如下所示: string originalValue = “some useful value”; string[] usefulName1 = new[] { originalValue }; service.response[] responses = server.LongishOpName( usefulName1, someString1, someString2 ); 它会将这个XML生成到服务器(感谢Fiddler2): 114003 a string a string 我得到了这个回应 soapenv:Server.userException org.xml.sax.SAXException: Found character data inside an array element while deserializing SERVERNAME 我的肥皂消息真的出现了吗? (是的,我使用ASP.NET Web引用来完成所有提升,我不是手工生成) 我应该做些不同的事吗? 我只需要回家睡觉吗,明天一切都会“正常工作”?