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); 
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试驱动开发

测试驱动开发: 测试驱动开发&#xff08;Test Driven Development,英文缩写TDD&#xff09;是极限编程的一个重要组成部分&#xff0c;它的基本思想就是在开发功能代码之前&#xff0c;先编写测试代码。也就是说在明确要开发某个功能后&#xff0c;首先思考如何对这个功能进行测…

面试官问:能否模拟实现JS的call和apply方法

写于2018年11月30日&#xff0c;发布在掘金上阅读量近一万&#xff0c;现在发布到微信公众号申明原创。相对比较基础的知识&#xff0c;虽然日常开发可能用得比较少&#xff0c;各种源码中有很多call和apply&#xff0c;需要掌握。前言这是面试官问系列的第三篇&#xff0c;旨在…

HTML中小meta的大作用

转载链接&#xff1a;http://www.pconline.com.cn/pcedu/sj/wz/html/0401/293106.html meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中&#xff0c;meta 标签的用处很多。meta 的属性有两种&#xff1a;name和http-equiv。…

prometheus 发送恢复 值_Prometheus基础知识介绍

【编者的话】本文会让你了解Prometheus是什么&#xff0c;并让你理解它在监控领域的适用场景。Prometheus起源很久以前&#xff0c;加利福尼亚州山景城有一家名为Google的公司。他们推出了大量产品&#xff0c;其中最著名的是广告系统和搜索引擎平台。为了运行这些不同的产品&a…

FAT32格式和NTFS有什么区别

FAT32与NTFS的区别在推出FAT32文件系统之前&#xff0c;通常PC机使用的文件系统是FAT16。像基于MS-DOS&#xff0c;Win 95等系统都采用了FAT16文件系统。在Win 9X下&#xff0c;FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小&a…

修复系统COM+

有的时候由于安装COM&#xff0b;过程中出错&#xff0c;可能会造成不能再次展开COM&#xff0b;浏览器的〔我的电脑〕。解决办法&#xff1a;1 删除注册表键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM32 运行appwiz.cpl&#xff0c;打开系统的[添加\删除]窗体&#xff0c;点击…

面试官问:JS的this指向

写于2018年12月25日&#xff0c;发布在掘金上阅读量近一万&#xff0c;现在发布到微信公众号申明原创。前言这是面试官问系列的第四篇&#xff0c;旨在帮助读者提升JS基础知识&#xff0c;包含new、call、apply、this、继承相关知识。面试官问系列文章如下&#xff1a;感兴趣的…

CSS实现div悬浮框的代码(兼容IE6)

转载链接&#xff1a;http://hi.baidu.com/grayworm/item/b735c2061f4e33ea34990265 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://ww…

python数组替换_Python:替换数组中的值

我会按照以下思路做些事情&#xff1a;import numpy as npdef fill(arr, fwd_fill):out arr.copy()if fwd_fill:start, end, step 0, len(out), 1else:start, end, step len(out)-1, -1, -1cur out[start]for i in range(start, end, step):if np.isnan(out[i]):out[i] cu…

(原創) 如何在Ubuntu設定P7010的1280 x 768解析度? (OS) (Linux) (Ubuntu) (NB) (P7010)

AbstractFujitsu P7010唯一較特別的硬體規格就是1280 x 768的解析度&#xff0c;無論任何Linux distribution預設都只能抓到1024 x 768&#xff0c;該如何才能抓到最佳的1280 x 768呢?IntroductionP7010非常適合Linux&#xff0c;但唯一的遺憾就是1280 x 768解析度不被支援&am…

python的常量和变量_python变量和常量

变量什么是变量&#xff1f;变量&#xff0c;是用于在内存中存放程序数据的容器计算机的最核心功能就是“计算”&#xff0c; 计算需要数据源&#xff0c;数据源要存在内存里&#xff0c;比如我要把小明的姓名、身高、年龄信息存下来&#xff0c;后面程序会调用。怎样定义一个变…

要做PPT,一直找不到资源?

写于 2016年6月&#xff0c;工作后就很少做PPT了。但工作至今也有人问我如何做PPT有没有模板之类的问题&#xff08;比如&#xff1a;大学室友做公司年度汇报时也找到我问有没有模板&#xff0c;我发了这篇文章给他&#xff0c;他说不记得我写了这篇文章呀&#xff09;&#xf…

Linux系统安装Appach 2.4.6

转载链接&#xff1a;http://www.cnblogs.com/kerrycode/p/3261101.html Apache简介 Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的网页服务器&#xff0c;可以在大多数计算机操作系统中运行&#xff0c;由于其多平台和安全性被广…

[网摘].NET 程序员十种必备工具-概述

从 MSDN 中看到这篇文章&#xff0c;觉得不错转了过来&#xff0c;对于我这样的.NET新手来说每个工具都是提高效率的好开始。将这十款软件的介绍重新格式化一下&#xff0c;方便以后查阅。以 “.NET 程序员十种必备工具”开头的10篇文章都是从这篇文章中分离出来&#xff0c;每…

完整asp.net图形验证码程序

1、测试页面&#xff1a;Default.aspx <% Page Language"C#" AutoEventWireup"true" CodeFile"Default.aspx.cs" Inherits"_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q…

学习 redux 源码整体架构,深入理解 redux 及其中间件原理

如果觉得内容不错&#xff0c;可以设为星标置顶我的公众号1. 前言你好&#xff0c;我是若川。这是学习源码整体架构系列第八篇。整体架构这词语好像有点大&#xff0c;姑且就算是源码整体结构吧&#xff0c;主要就是学习是代码整体结构&#xff0c;不深究其他不是主线的具体函数…

pdf安装包_有么有pdf控件,不需要用户安装任何安装包直接打印的?

如果开发一个软件&#xff0c;需要用到PDF功能&#xff0c;您的选择是基于Adobe PDF吗&#xff1f; 如果是基于Adobe PDF&#xff0c;需要用户安装一个几十M的Adobe的安装包&#xff0c;这显然是不友好的。即使目前也有了一些其它的阅读器&#xff0c;大小也还好。但是&#xf…

Centos编译安装Apache 2.4.6笔记 配置

转载链接&#xff1a;http://www.onepx.com/centos-apache-246.html 之前服务器 Apache 版本一直是 2.2.x&#xff0c;鉴于 Centos 更新软件的惰性&#xff0c;我看直到 2014 年结束&#xff0c;apache 2.4 都不一定会出现在 Centos 中&#xff0c;我是不打算等了&#xff0c;…

[转] C#异步操作

Title 通过委托实现异步调用中BeginInvoke及回调函数的使用 通过委托实现异步调用的步骤&#xff1a; 1.定义委托。 2.将要进行异步调用的方法“实例化”到定义的委托。 3.在委托上调用BeginInvoke方法。其中&#xff0c;BeginInvoke的参数由三个部分构成。第一部分&#xff1…

HTTP Server Error 500 内部服务器错误

问题&#xff1a;HTTP500错误 或 Server Application Error ------------------------------------Server Application ErrorThe server has encountered an error while loading an application during the processing of your request. Please refer to the event log for mo…