草庐IT

c# - 在 OData 中提供 DateTime 值

我目前正在编写一个特殊的客户端应用程序,以允许我们的单元测试使用OData接口(interface),该接口(interface)使用XML结构作为原子源。一切似乎都正常工作,但当我需要将DateTime值作为属性传递时,我遇到了麻烦。我编写了以下代码,从对象的属性中提取DateTime值并以特定格式存储它:privatestaticvoidGenerateProperty(StringBuilderxml,Tobj,PropertyInfoinfo){//Extracttheinformationaboutthepropertyifitcontainsavalue.if(info.G

c# - IIS 7.5、Web 服务和 HTTP 405 错误

我有一个托管在我机器上的网络服务。我使用Windows7和IIS7.5。问题:当客户端尝试使用Web服务时,他/她收到HTTP405错误。在IIS的日志文件中,我可以看到这是被拒绝的,因为不允许使用POST动词。问题:如何允许这些请求使用POST动词?我必须添加WSDL文件的映射吗?如果我这样做,我该如何配置这个映射?我已经检查过,在现有映射中我没有任何WSDL扩展。是否可能需要在IIS上设置其他东西来允许这些请求?Web服务是使用WCF构建的。 最佳答案 经过几个小时的努力,这是帮助我的最终解决方案(从fiddler测试):在II

c# - 将异常冒泡到堆栈顶部是否可以?

让异常冒泡到堆栈顶部而不是在每个方法中捕获它是否可以?..我们应该在任何情况下都这样做吗?..这种方法是否存在任何细微的问题或副作用(例如丢失异常细节、堆栈跟踪或内部异常细节等)?虽然我的问题很笼统,但我目前的情况是这样的:我正在将现有的WSE3Web服务移动到WCF,因此y客户端是WSE3客户端。我添加了一个行为,以便在WCF服务中发生FaultException时,它会被传送到客户端。当OperationContract方法出现异常时,我会在客户端收到异常消息,没有任何问题。但每当它出现在OperationContract以外的方法中时,我都会以某种方式遇到与安全相关的问题。我无法

c# - IExtensibleDataObject 与 IExtensibleObject?

我想弄清楚IExtensibleDataObject和IExtensibleObject之间的区别。MSDN说第一个(IExtensibleDataObject)是让可能添加属性的对象反序列化,第二个(IExtensibleObject)看起来很相似,它确实让对象也添加属性。我很困惑。 最佳答案 IExtensibleDataObject是关于序列化的,它可以在WCF的服务堆栈之外使用。它的主要目的是在不丢失信息的情况下往返不同版本的数据契约(Contract)。例如,在你的契约(Contract)的第一个版本中,你有这样的类型:[

c# - 为什么我不能在 WCF REST POST 方法中使用两个参数?

我有契约(Contract):[OperationContract][WebInvoke(Method="GET",ResponseFormat=WebMessageFormat.Xml,UriTemplate="GetCategoriesGET/{userIdArg}",BodyStyle=WebMessageBodyStyle.Bare)]ListGetVideosGET(stringuserIdArg);[WebInvoke(Method="POST",UriTemplate="evals")][OperationContract]voidSubmitVideoPOST(Vide

c# - 如何在不使用配置文件的情况下以编程方式添加 maxItemsInObjectGraph?

我已经创建了一个类似的EndpointAddressEndpointAddressaddress=newEndpointAddress("http://example.com/services/OrderService.svc");但我无法以编程方式将行为添加到此端点。行为如下: 最佳答案 在服务器上,您必须将其添加到ServiceBehavior属性中:[ServiceBehavior(MaxItemsInObjectGraph=int.MaxValue)]在客户端上,您必须将它应用到端点。在此示例中,您可以看到如何将其添加到Ch

c# - 在 App.config 中设置 WCF ClientCredentials

是否可以在App.config中为WCF设置客户端凭据?我想避免这样做:UsingsvcAsNewMyServiceClientsvc.ClientCredentials.UserName.UserName="login"svc.ClientCredentials.UserName.Password="pw"...EndUsing登录名和密码应该是配置的一部分。 最佳答案 扩展LadislavMrnka的回答,您可能会发现此实现很有用:publicclassUserNameClientCredentials:ClientCreden

c# - 异常: 'system.data.sqlclient.sqlconnection' 的类型初始值设定项?

我无法弄清楚这个异常的问题是什么。Thetypeinitializerfor'System.Data.SqlClient.SqlConnection'threwanexception第一次尝试:我正在使用WCF服务制作一些小应用程序。它工作得很好,我可以正确使用LINQ。2或3天后。也许在我关闭VisualStudio并再次加载项目之后。出现异常。第二次尝试也是一样。我创建了另一个项目,它工作得很好,直到我做其他事情(我没有更改任何代码)SQLServer工作正常,我可以毫无问题地通过SQLManagementStudio进行连接。单击“调试错误”将我带到来自linq文件的连接字符串。

c# - 使用 WCF JSON Web 服务的客户端配置

我已将Web服务配置为使用Json,如本博客所述:http://www.west-wind.com/weblog/posts/164419.aspx和其他各种博客,但我无法创建客户端来使用此服务。我尝试了各种方法,但总是遇到无意义的异常。实现(我应该添加的WCF)客户端的正确方法是什么? 最佳答案 似乎缺少有关如何为JSONREST服务编写WCF客户端的示例。每个人似乎都使用WCF来实现服务,但很少用于编写客户端。所以这里有一个相当完整的服务示例(实现GET和POST请求)和客户端。服务服务接口(interface)[Service

c# - 客户端身份验证方案 'Anonymous' 禁止 HTTP 请求。远程服务器返回错误 : (403) Forbidden

我正在尝试创建一个安全的网络服务。这里是合约和服务实现[ServiceContract()]publicinterfaceICalculatorService{[OperationContract()]intAdd(intx,inty);}[ServiceBehavior(IncludeExceptionDetailInFaults=true)]publicclassCalculatorService:ICalculatorService{publicintAdd(intx,inty){returnx+y;}}我这里有服务代码varb=newWSHttpBinding(Security