zoukankan      html  css  js  c++  java
  • MS CRM 2011 C#中获取Web Resource

    原创地址:http://www.cnblogs.com/jfzhu/archive/2013/02/15/2913077.html

    转载请注明出处

    我在以前的文章中讲过如何用JScript读取web resource资源,我在本文中将要讲解如何在C#中获取web resource资源。

    有时候可能有这样的需求,你需要在一个插件中读取某个xml web resource的内容,并将该xml文件作为附件创建一封E-mail。或者该xml文档是插件的一个配置文件。这时,你就需要在C#中获取web resource资源了。CRM中web resource不过是一个特殊的entity,在数据库中你也可以看到web resource table。web resource的内容(content)以Base64编码保存在数据库中(参见Base 64 Encoding 编码)。你只需要知道web resource的name,然后就可以用RetrieveMultiple方法获取该web resource。下面的代码演示了,如何获取一个名为aw_testxml.xml的web resource,并将其内容作为附件发送给一封E-mail。

    // Create an e-mail message.    
    // Create the 'From:' activity party for the email 
    ActivityParty fromParty = new ActivityParty 
    { 
        PartyId = new EntityReference(SystemUser.EntityLogicalName, new Guid("F6F5BB29-D519-E211-B109-B499BAFDBEDA")) 
    };
    
    // Create the 'To:' activity party for the email 
    ActivityParty toParty = new ActivityParty 
    { 
        PartyId = new EntityReference(SystemUser.EntityLogicalName, new Guid("F6F5BB29-D519-E211-B109-B499BAFDBEDA")) 
    };
    
    
    Email email = new Email 
    { 
        To = new ActivityParty[] { toParty }, 
        From = new ActivityParty[] { fromParty }, 
        Subject = "SDK Sample e-mail", 
        Description = "SDK Sample for SendEmail Message.", 
        DirectionCode = true 
    }; 
    Guid _emailId = service.Create(email);
    
    QueryExpression mySavedQuery = new QueryExpression 
    { 
        ColumnSet = new ColumnSet(true), 
        EntityName = WebResource.EntityLogicalName, 
        Criteria = new FilterExpression() 
        { 
            Conditions = 
            {                        
                new ConditionExpression 
                { 
                    AttributeName = "name", 
                    Operator = ConditionOperator.Equal, 
                    Values = {"aw_testxml.xml"} 
                } 
            } 
        } 
    };
    
    EntityCollection ec = service.RetrieveMultiple(mySavedQuery); 
    if (ec != null && ec.Entities != null && ec.Entities.Count > 0) 
    { 
        WebResource webresource = ec.Entities[0].ToEntity<WebResource>(); 
                             
        ActivityMimeAttachment _sampleAttachment = new ActivityMimeAttachment 
        { 
            ObjectId = new EntityReference(Email.EntityLogicalName, _emailId), 
            ObjectTypeCode = Email.EntityLogicalName, 
            Subject = "Sample Attachment", 
            Body = webresource.Content, 
            FileName = "ExampleAttachment.xml" 
        };
    
        service.Create(_sampleAttachment); 
    }

  • 相关阅读:
    python中的os模块
    python基础之正则表达式
    可以结合react的ui组件
    清除文件里的中文字
    阿里云docker
    Java开源BI系统介绍(转)
    miniui datepicker 二次加工
    笔试网站
    webpack ,gulp/grunt的介绍
    百度app测试服务
  • 原文地址:https://www.cnblogs.com/jfzhu/p/2913077.html
Copyright © 2011-2022 走看看