小编Dav*_*ney的帖子

使用ConfigurationManager加载System.ServiceModel配置节

使用C#.NET 3.5和WCF,我试图在客户端应用程序中写出一些WCF配置(客户端连接到的服务器的名称).

显而易见的方法是使用ConfigurationManager加载配置部分并写出我需要的数据.

var serviceModelSection = ConfigurationManager.GetSection("system.serviceModel");
Run Code Online (Sandbox Code Playgroud)

似乎总是返回null.

var serviceModelSection = ConfigurationManager.GetSection("appSettings");
Run Code Online (Sandbox Code Playgroud)

完美的工作.

配置部分存在于App.config中,但由于某种原因ConfigurationManager拒绝加载该system.ServiceModel部分.

我想避免手动加载xxx.exe.config文件并使用XPath,但如果我不得不求助于我.看起来有点像黑客.

有什么建议?

.net c# xml wcf configurationmanager

60
推荐指数
5
解决办法
6万
查看次数

如何强制WCF使用所需的方法参数(minoccurs ="1")自动生成WSDL?

在使用WCF和OperationContracts时,我定义了以下方法:

    [OperationContract]
    [FaultContract(typeof(ValidationFault))]
    [FaultContract(typeof(FaultException<ExceptionDetail>))]
    int DoSomething(int someId, MyComplexType messageData);
Run Code Online (Sandbox Code Playgroud)

当它由WCF运行时转换为WSDL时,最终会为参数someId和messageData列出minoccurs ="0"(如果缺少这些参数,则会抛出运行时错误).

如果我使用SoapUI生成代理,我会得到如下所示的内容:

  <com:DoSomething>
     <!--Optional-->
     <com:EventId>1</com:EventId>
     <!--Optional-->
     <com:myComplexType >
        <com:id>1</com:id>
     </com:myComplexType >
  </com:DoSomething>
Run Code Online (Sandbox Code Playgroud)

MyComplexType中的id字段使用IsRequired ="true"标记为DataMemeber属性,因此公开为必需.

显然,WSDL指定参数是不可选的是可选的,但是我看不到任何明显的方法来标记OperationContract以迫使WCF根据需要识别和公开这些参数.

我有点困惑,似乎没有明显的方法这样做(阅读intellisense/msdn/google).或者我会失明并忽略一些明显的东西.

有线索吗?

wcf soa soap wsdl

16
推荐指数
1
解决办法
1万
查看次数

在C#中将证书安装到Windows本地用户证书存储中

我正在编写一个Windows服务,它需要证书存储区中的多个证书才能连接到第三方Web服务.

在我的安装程序中,我调用一个小应用程序(C#)创建一个用户来运行服务.

它工作正常.

我现在需要在用户证书存储中安装大约10个证书(不要问!),但是找不到任何简洁的编程方法.

任何提示?或者我将不得不使用COM互操作...

c# windows certificate certificate-store

7
推荐指数
1
解决办法
3万
查看次数