0

我下面的代码示例工作正常,但我想将我的客户端凭据添加到 web.config 文件中(即,在连接字符串中)。

我试过但没有运气。有人可以帮忙吗?

   protected void Page_Load(object sender, EventArgs e)
    {    

        // Organisation service URL
        var organizationUri = new Uri(ConfigurationManager.ConnectionStrings["CrmConnectionStr"].ConnectionString);

        //Client credentials
        var credentials = new ClientCredentials();
        credentials.UserName.UserName = @"domain\username";  
        credentials.UserName.Password = "password";


        // Use the Microsoft Dynamics CRM Online connection string from the web.config file named "CrmConnectionStr".
                    using (OrganizationServiceProxy _service = new OrganizationServiceProxy(organizationUri, null, credentials, null))
        {
     Response.Write("Connected");
        }
    }

Web.config 文件

<?xml version="1.0"?>
<configuration>
<connectionStrings>
  <add name="CrmConnectionStr"  connectionString="https://test.domain.com/XRMServices/2011/Organization.svc" />     
 </connectionStrings>
 <system.web>
    <compilation debug="true" targetFramework="4.0" />
 </system.web>
</configuration>
4

2 回答 2

2

正如 RandomWebGuy 指出的那样,您可能正在连接到 Microsoft Dynamics CRM,在这种情况下,您只需更改连接字符串以包含用户名等,就像这样connectionString="https://test.domain.com/XRMServices/2011/Organization.svc; Username=Fred.Bloggs; Password=P@ssword;"

但是,如果您连接到 Web 服务或想要存储任意值(例如 URI、用户名、密码等),请使用AppSettings部分,而不是ConnectionString

所以,在你的配置文件中是这样的:

<appSettings>  
    <add key="UserName" value="Fred.Bloggs" />
    <add key="Password" value="P@ssword" />
    <add key="ServiceUri" value="https://test.domain.com/XRMServices/2011/Organization.svc />
</appSettings>

然后在代码中:

var organizationUri = new Uri(ConfigurationManager.AppSettings["ServiceUri"]);

// ...

credentials.UserName.UserName = ConfigurationManager.AppSettings["UserName"];
credentials.UserName.Password = ConfigurationManager.AppSettings["Password"];
于 2013-01-15T15:58:01.547 回答
0

编写自定义配置来存储您的特定数据(并且不要试图捎带现有的连接字符串区域,它具有精确的格式)。

这是一个示例: 如何在 ConfigurationSection 中包含简单集合

这比有几个脱节的 AppSetting(s) 值要好得多。与您的价值观密切相关的所有内容都封装在一个已知区域中。

于 2013-01-15T16:20:35.237 回答