仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 461|回复: 8
打印 上一主题 下一主题

[学习教程] ASP教程之ASP中完成对MediaPlayer控件播放文件地...

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:03:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。在播放视频时,间接检察页面源文件可看到视频文件地点,MediaPlayer控件播放器将在页面上加上以下初始化语句:
  MediaPlayer控件初始化可检察到源文件地点
  Sys.Application.add_init(function()
  {
  $create(Sys.UI.Silverlight.MediaPlayer,
  {
  "autoPlay":true,"mediaSource":"http://211.142.31.235/Nas1/VOD/CP0001/490Kbps/D/DI/DIA/DiaoZhongYuan1/DiaoZhongYuan1.wmv",
  "scaleMode":2,"source":"UserControl/playerTheme/player.xaml","volume":1},
  null,null,
  $get("myUserMediaPlayer_player_parent"));
  });
  办理计划是先创建一个字符串加密解密服务
  加密、解密工具类
  1/**////<summary>
  2///对字符串举行、加解密的工具类
  3///</summary>
  4publicclassDESEncryptor
  5{
  6静态大众办法#region静态大众办法
  7/**////<summary>
  8///对字符串举行加密
  9///</summary>
  10///<paramname="strSource">源字符串</param>
  11///<returns>加密后的字符串</returns>
  12publicstaticstringExecEncrypt(stringstrSource)
  13{
  14DESEncryptordesEncryptor=newDESEncryptor();
  15desEncryptor.InputString=strSource;
  16desEncryptor.DesEncrypt();
  17returndesEncryptor.OutString;
  18}
  19/**////<summary>
  20///对已加密的字符串举行解密
  21///</summary>
  22///<paramname="strSource">已加密的字符串</param>
  23///<returns>复原后的字符串</returns>
  24publicstaticstringExecDeEncrypt(stringstrSource)
  25{
  26DESEncryptordesEncryptor=newDESEncryptor();
  27desEncryptor.InputString=strSource;
  28desEncryptor.DesDecrypt();
  29returndesEncryptor.OutString;
  30}
  31#endregion
  32
  33公有成员#region公有成员
  34/**////<summary>
  35///输出字符串
  36///</summary>
  37privatestringinputString=null;
  38/**////<summary>
  39///输入字符串
  40///</summary>
  41privatestringoutString=null;
  42/**////<summary>
  43///输出文件路径
  44///</summary>
  45privatestringinputFilePath=null;
  46/**////<summary>
  47///输入文件路径
  48///</summary>
  49privatestringoutFilePath=null;
  50/**////<summary>
  51///加密密钥
  52///</summary>
  53privatestringencryptKey="fanmenglife";
  54/**////<summary>
  55///解密密钥
  56///</summary>
  57privatestringdecryptKey="fanmenglife";
  58/**////<summary>
  59///提醒信息
  60///</summary>
  61privatestringnoteMessage=null;
  62#endregion
  63
  64大众属性#region大众属性
  65/**////<summary>
  66///输出字符串
  67///</summary>
  68publicstringInputString
  69{
  70get{returninputString;}
  71set{inputString=value;}
  72}
  73/**////<summary>
  74///输入字符串
  75///</summary>
  76publicstringOutString
  77{
  78get{returnoutString;}
  79set{outString=value;}
  80}
  81/**////<summary>
  82///输出文件路径
  83///</summary>
  84publicstringInputFilePath
  85{
  86get{returninputFilePath;}
  87set{inputFilePath=value;}
  88}
  89/**////<summary>
  90///输入文件路径
  91///</summary>
  92publicstringOutFilePath
  93{
  94get{returnoutFilePath;}
  95set{outFilePath=value;}
  96}
  97/**////<summary>
  98///加密密钥
  99///</summary>
  100publicstringEncryptKey
  101{
  102get{returnencryptKey;}
  103set{encryptKey=value;}
  104}
  105/**////<summary>
  106///解密密钥
  107///</summary>
  108publicstringDecryptKey
  109{
  110get{returndecryptKey;}
  111set{decryptKey=value;}
  112}
  113/**////<summary>
  114///毛病信息
  115///</summary>
  116publicstringNoteMessage
  117{
  118get{returnnoteMessage;}
  119set{noteMessage=value;}
  120}
  121#endregion
  122
  123机关函数#region机关函数
  124/**////<summary>
  125///机关函数
  126///</summary>
  127publicDESEncryptor()
  128{
  129//
  130//TODO:在此处增加机关函数逻辑
  131//
  132}
  133#endregion
  134
  135DES加密字符串#regionDES加密字符串
  136/**////<summary>
  137///加密字符串
  138///注重:密钥必需为8位
  139///</summary>
  140publicvoidDesEncrypt()
  141{
  142byte[]byKey=null;
  143byte[]IV={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};
  144try
  145{
  146byKey=System.Text.Encoding.UTF8.GetBytes(this.encryptKey.Substring(0,8));
  147DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
  148byte[]inputByteArray=Encoding.UTF8.GetBytes(this.inputString);
  149MemoryStreamms=newMemoryStream();
  150CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(byKey,IV),CryptoStreamMode.Write);
  151cs.Write(inputByteArray,0,inputByteArray.Length);
  152cs.FlushFinalBlock();
  153this.outString=Convert.ToBase64String(ms.ToArray());
  154}
  155catch(System.Exceptionerror)
  156{
  157this.noteMessage=error.Message;
  158}
  159}
  160#endregion
  161
  162DES解密字符串#regionDES解密字符串
  163/**////<summary>
  164///解密字符串
  165///</summary>
  166publicvoidDesDecrypt()
  167{
  168byte[]byKey=null;
  169byte[]IV={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};
  170byte[]inputByteArray=newByte[this.inputString.Length];
  171try
  172{
  173byKey=System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0,8));
  174DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
  175inputByteArray=Convert.FromBase64String(this.inputString);
  176MemoryStreamms=newMemoryStream();
  177CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(byKey,IV),CryptoStreamMode.Write);
  178cs.Write(inputByteArray,0,inputByteArray.Length);
  179cs.FlushFinalBlock();
  180System.Text.Encodingencoding=newSystem.Text.UTF8Encoding();
  181this.outString=encoding.GetString(ms.ToArray());
  182}
  183catch(System.Exceptionerror)
  184{
  185this.noteMessage=error.Message;
  186}
  187}
  188#endregion
  189}
  加密、解密WebService,挪用工具内加密、解密办法:
  1/**////<summary>
  2///SummarydescriptionforService1
  3///</summary>
  4[WebService(Namespace="http://tempuri.org/")]
  5[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
  6[System.ComponentModel.ToolboxItem(false)]
  7//ToallowthisWebServicetobecalledfromscript,usingASP.NETAJAX,uncommentthefollowingline.
  8//[System.Web.Script.Services.ScriptService]
  9publicclassService1:System.Web.Services.WebService
  10{
  11/**////<summary>
  12///加密
  13///</summary>
  14///<paramname="url">地点</param>
  15///<returns></returns>
  16[WebMethod]
  17publicstringEncrypt(stringurl)
  18{
  19returnDESEncryptor.ExecEncrypt(url);
  20}
  21
  22/**////<summary>
  23///解密
  24///</summary>
  25///<paramname="url">地点</param>
  26///<returns></returns>
  27[WebMethod]
  28publicstringDeEncrypt(stringurl)
  29{
  30returnDESEncryptor.ExecDeEncrypt(url);
  31}
  32
  }
  在MediaPlayer控件播放页面加载时,先挪用WebService内加密办法对播放地点举行加密,然后注册JavaScript剧本挪用视频文件播放办法:
  播放页面加载
  protectedvoidPage_Load(objectsender,EventArgse)
  {
  if(!IsPostBack)
  {
  //对播放地点举行加密
  stringencryptUrl=local.Encrypt(playUrl);
  //注册剧本,挪用javascript播放办法
  Page.ClientScript.RegisterStartupScript(this.GetType(),"","setTimeout("onPlay("+encryptUrl+")",1000)",true);}
  }
  JavaScript挪用WebService经由过程微软供应的WebService.htc完成,ASP.NET中利用WebService.htc必要在HTML代码中增加以下代码:
  <divid="serviceDiv"style="behavior:url(WebService.htc)"></div>注重:该div必须在forms以外
  Javascript代码:
  1functiongetUrl(str){
  2//第一个参数是webservice的url,前面是称号
  3serviceDiv.useService("http://localhost:88/Service1.asmx?WSDL","news");
  4//设置一个回调函数,service前往了局的时分回调;第一个参数是回调函数的称号,前面的是webservice的参数
  5intCallID=serviceDiv.news.callService(url_result,"DeEncrypt",str);//这里有两个参数..
  6}
  7
  8functionurl_result(result)//回调函数
  9{
  10varmedia_player=$find(myUserMediaPlayer_player);
  11media_player.set_mediaSource(result.value);
  12media_player.set_autoPlay(true);
  13}
  14
  15functiononPlay(str){
  16getUrl(str);
  17}
  有几点需申明:
  1.为何在Page_Load事务里注册剧本不间接挪用Javascript内播放办法,由于页面需完整加载后,WebService.htc才会被初始化,以是我用setTimeout办法提早一段工夫再挪用播放办法。
  2.人人在利用WebService回调函数时记得判别前往了局是不是乐成。
  经由过程以上办法,在页面上检察源文件便没法检察到播放文件地点了,MediaPlayer初始化语句更新为以下:
  变动后MediaPlayer控件初始化
  Sys.Application.add_init(function()
  {
  $create(Sys.UI.Silverlight.MediaPlayer,
  {"autoPlay":true,"scaleMode":1,"source":"../UserControl/playerTheme/VIPPlayer.xaml","volume":1},
  null,null,$get("ump_player_parent"));
  });
  不外这只是争对一样平常用户,假如人人有更好的办法能够拿出来一同共享,但愿我的文章对人人有匡助

因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-20 17:28:52 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
小魔女 该用户已被删除
8#
发表于 2015-3-13 08:08:40 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
柔情似水 该用户已被删除
7#
发表于 2015-3-6 20:00:39 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
再现理想 该用户已被删除
6#
发表于 2015-2-21 06:20:34 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
简单生活 该用户已被删除
5#
发表于 2015-2-7 08:22:11 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
飘灵儿 该用户已被删除
地板
发表于 2015-2-1 16:10:25 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
变相怪杰 该用户已被删除
板凳
发表于 2015-1-24 13:24:26 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-18 19:50:55 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-26 02:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表