相关疑难解决方法(0)

NetworkCredential UseDefaultCredentials无效

我们编写了一个代码,用于调用具有域凭据的服务.现在域名已更改,并计划使用默认Windows帐户

所以我试图通过配置重置asmx webservice的网络凭据.我创建了一个SoapExtentsion类,并尝试覆盖它,即使它执行该行.但它永远不会被应用,并且总是以下现有代码获胜

实际代码

EmployeeService prxy = new EmployeeService();
prxy.Credentials = new System.Net.NetworkCredential("MyAccount", "pwd", "MyDomain");
 //prxy.UseDefaultCredentials = true;// It works but we dont want code change
prxy.GetEmployee(empId);
Run Code Online (Sandbox Code Playgroud)

新代码/配置仅更改

计划通过额外的dll和配置更改注入.因此,现在不需要/禁止原始代码中的代码更改

public class WindowsDefCredSoapExtn : SoapExtension
{
    public override object GetInitializer(Type serviceType)
    {
        return "";
    }

    public override object GetInitializer(LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute)
    {
        return "";
    }

    public override void Initialize(object initializer)
    {
        //throw new NotImplementedException();
    }

    public override void ProcessMessage(SoapMessage message)
    {

      if (message is SoapClientMessage)
          {
          if (message.Stage == SoapMessageStage.BeforeSerialize) …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net web-services asmx

8
推荐指数
1
解决办法
2259
查看次数

标签 统计

.net ×1

asmx ×1

asp.net ×1

c# ×1

web-services ×1