抢先体验Atlas--一个使用Atlas模板开发的AtlasWeb实验

首先得保证下载并安装了Visual Web Developer 2005 速成版的测试版2 和 Atlas Blank Project VSI (http://go.microsoft.com/fwlink/?LinkId=52384

在ASP.NET "Atlas" Preview Documentation(http://atlas.asp.net/docs/)上有五个例子,我基本照着做了遍,对其过程有了个大概了解,接着就开始了自己的Atlas第一个实验:功能不复杂,就是将汉字转化为汉语拼音显示出来,本来这是一个类(原作者:铁匠(chinahuman)),偶把它改装成了web service,放到这个实验中,实现了无刷取得输入汉字的汉语拼音;

总的来说,开发这样的应用不算很麻烦,而且这只是微软的一个简单预览版本,估计正式发布会更强,不知道会不会随着Visual Web Developer 2005正式版一起发布,有点期待;

下面是实验步骤(做过ASP.NET "Atlas" Preview Documentation上五个实验的一定熟悉,其实跟上面其中一个很相似):
step1: 建立首个AtlasWeb应用

step2: 新建主导页Default.master

<% @ Master Language = " C# "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>

< html  xmlns ="http://www.w3.org/1999/xhtml"  xml:lang ="en"  lang ="en" >
< head  id ="Head1"  runat ="server" >
    
< asp:contentplaceholder  runat ="server"  ID ="ScriptIncludes" >
      
< atlas:script  id ="Script1"  runat ="server"  
        Path
="~/ScriptLibrary/AtlasCompat.js"  Browser ="Mozilla"   />
      
< atlas:script  id ="Script2"  runat ="server"  
        Path
="~/ScriptLibrary/AtlasCompat.js"  Browser ="Firefox"   />
      
< atlas:script  id ="Script3"  runat ="server"  
        Path
="~/ScriptLibrary/AtlasCompat.js"  Browser ="AppleMAC-Safari"   />
      
< atlas:script  id ="Script4"  runat ="server"  
        Path
="~/ScriptLibrary/AtlasCore.js"   />
      
< atlas:script  id ="Script5"  runat ="server"  
        Path
="~/ScriptLibrary/AtlasCompat2.js"  Browser ="AppleMAC-Safari"   />
    
</ asp:ContentPlaceHolder >
    
< link  rel ="stylesheet"  type ="text/css"  href ="site.css"   />
    
< asp:contentplaceholder  runat ="server"  ID ="Head"   />
</ head >
< body >
    
< asp:contentplaceholder  id ="Main"  runat ="server" >
    
</ asp:contentplaceholder >
</ body >
</ html >

step3: 新建web服务Chs2PyAsmx.asmx

<% @ WebService Language = " C# "  Class = " AtlasWebLab.AspNet.Chs2PyAsmx "   %>

using  System.Web;
using  System.Web.Services;
using  System.Web.Services.Protocols;

namespace  AtlasWebLab.AspNet
{
    
// [WebService(Namespace = " http://tempuri.org/ ")]
    [WebServiceBinding(ConformsTo  =  WsiProfiles.BasicProfile1_1)]
    
public   class  Chs2PyAsmx : System.Web.Services.WebService
    {
       
         
private   static   int [] pyvalue  =   new   int []{ - 20319 , - 20317 , - 20304 , - 20295 , - 20292 , - 20283 , - 20265 , - 20257 , - 20242 , - 20230 , - 20051 , - 20036 , - 20032 , - 20026 ,
    
- 20002 , - 19990 , - 19986 , - 19982 , - 19976 , - 19805 , - 19784 , - 19775 , - 19774 , - 19763 , - 19756 , - 19751 , - 19746 , - 19741 , - 19739 , - 19728 ,
    
- 19725 , - 19715 , - 19540 , - 19531 , - 19525 , - 19515 , - 19500 , - 19484 , - 19479 , - 19467 , - 19289 , - 19288 , - 19281 , - 19275 , - 19270 , - 19263 ,
    
- 19261 , - 19249 , - 19243 , - 19242 , - 19238 , - 19235 , - 19227 , - 19224 , - 19218 , - 19212 , - 19038 , - 19023 , - 19018 , - 19006 , - 19003 , - 18996 ,
    
- 18977 , - 18961 , - 18952 , - 18783 , - 18774 , - 18773 , - 18763 , - 18756 , - 18741 , - 18735 , - 18731 , - 18722 , - 18710 , - 18697 , - 18696 , - 18526 ,
    
- 18518 , - 18501 , - 18490 , - 18478 , - 18463 , - 18448 , - 18447 , - 18446 , - 18239 , - 18237 , - 18231 , - 18220 , - 18211 , - 18201 , - 18184 , - 18183 ,
    
- 18181 , - 18012 , - 17997 , - 17988 , - 17970 , - 17964 , - 17961 , - 17950 , - 17947 , - 17931 , - 17928 , - 17922 , - 17759 , - 17752 , - 17733 , - 17730 ,
    
- 17721 , - 17703 , - 17701 , - 17697 , - 17692 , - 17683 , - 17676 , - 17496 , - 17487 , - 17482 , - 17468 , - 17454 , - 17433 , - 17427 , - 17417 , - 17202 ,
    
- 17185 , - 16983 , - 16970 , - 16942 , - 16915 , - 16733 , - 16708 , - 16706 , - 16689 , - 16664 , - 16657 , - 16647 , - 16474 , - 16470 , - 16465 , - 16459 ,
    
- 16452 , - 16448 , - 16433 , - 16429 , - 16427 , - 16423 , - 16419 , - 16412 , - 16407 , - 16403 , - 16401 , - 16393 , - 16220 , - 16216 , - 16212 , - 16205 ,
    
- 16202 , - 16187 , - 16180 , - 16171 , - 16169 , - 16158 , - 16155 , - 15959 , - 15958 , - 15944 , - 15933 , - 15920 , - 15915 , - 15903 , - 15889 , - 15878 ,
    
- 15707 , - 15701 , - 15681 , - 15667 , - 15661 , - 15659 , - 15652 , - 15640 , - 15631 , - 15625 , - 15454 , - 15448 , - 15436 , - 15435 , - 15419 , - 15416 ,
    
- 15408 , - 15394 , - 15385 , - 15377 , - 15375 , - 15369 , - 15363 , - 15362 , - 15183 , - 15180 , - 15165 , - 15158 , - 15153 , - 15150 , - 15149 , - 15144 ,
    
- 15143 , - 15141 , - 15140 , - 15139 , - 15128 , - 15121 , - 15119 , - 15117 , - 15110 , - 15109 , - 14941 , - 14937 , - 14933 , - 14930 , - 14929 , - 14928 ,
    
- 14926 , - 14922 , - 14921 , - 14914 , - 14908 , - 14902 , - 14894 , - 14889 , - 14882 , - 14873 , - 14871 , - 14857 , - 14678 , - 14674 , - 14670 , - 14668 ,
    
- 14663 , - 14654 , - 14645 , - 14630 , - 14594 , - 14429 , - 14407 , - 14399 , - 14384 , - 14379 , - 14368 , - 14355 , - 14353 , - 14345 , - 14170 , - 14159 ,
    
- 14151 , - 14149 , - 14145 , - 14140 , - 14137 , - 14135 , - 14125 , - 14123 , - 14122 , - 14112 , - 14109 , - 14099 , - 14097 , - 14094 , - 14092 , - 14090 ,
    
- 14087 , - 14083 , - 13917 , - 13914 , - 13910 , - 13907 , - 13906 , - 13905 , - 13896 , - 13894 , - 13878 , - 13870 , - 13859 , - 13847 , - 13831 , - 13658 ,
    
- 13611 , - 13601 , - 13406 , - 13404 , - 13400 , - 13398 , - 13395 , - 13391 , - 13387 , - 13383 , - 13367 , - 13359 , - 13356 , - 13343 , - 13340 , - 13329 ,
    
- 13326 , - 13318 , - 13147 , - 13138 , - 13120 , - 13107 , - 13096 , - 13095 , - 13091 , - 13076 , - 13068 , - 13063 , - 13060 , - 12888 , - 12875 , - 12871 ,
    
- 12860 , - 12858 , - 12852 , - 12849 , - 12838 , - 12831 , - 12829 , - 12812 , - 12802 , - 12607 , - 12597 , - 12594 , - 12585 , - 12556 , - 12359 , - 12346 ,
    
- 12320 , - 12300 , - 12120 , - 12099 , - 12089 , - 12074 , - 12067 , - 12058 , - 12039 , - 11867 , - 11861 , - 11847 , - 11831 , - 11798 , - 11781 , - 11604 ,
    
- 11589 , - 11536 , - 11358 , - 11340 , - 11339 , - 11324 , - 11303 , - 11097 , - 11077 , - 11067 , - 11055 , - 11052 , - 11045 , - 11041 , - 11038 , - 11024 ,
    
- 11020 , - 11019 , - 11018 , - 11014 , - 10838 , - 10832 , - 10815 , - 10800 , - 10790 , - 10780 , - 10764 , - 10587 , - 10544 , - 10533 , - 10519 , - 10331 ,
    
- 10329 , - 10328 , - 10322 , - 10315 , - 10309 , - 10307 , - 10296 , - 10281 , - 10274 , - 10270 , - 10262 , - 10260 , - 10256 , - 10254 };

        
private   static   string [] pystr  =   new   string []{ " a " , " ai " , " an " , " ang " , " ao " , " ba " , " bai " , " ban " , " bang " , " bao " , " bei " , " ben " , " beng " , " bi " , " bian " , " biao " ,
   
" bie " , " bin " , " bing " , " bo " , " bu " , " ca " , " cai " , " can " , " cang " , " cao " , " ce " , " ceng " , " cha " , " chai " , " chan " , " chang " , " chao " , " che " , " chen " ,
   
" cheng " , " chi " , " chong " , " chou " , " chu " , " chuai " , " chuan " , " chuang " , " chui " , " chun " , " chuo " , " ci " , " cong " , " cou " , " cu " , " cuan " , " cui " ,
   
" cun " , " cuo " , " da " , " dai " , " dan " , " dang " , " dao " , " de " , " deng " , " di " , " dian " , " diao " , " die " , " ding " , " diu " , " dong " , " dou " , " du " , " duan " ,
   
" dui " , " dun " , " duo " , " e " , " en " , " er " , " fa " , " fan " , " fang " , " fei " , " fen " , " feng " , " fo " , " fou " , " fu " , " ga " , " gai " , " gan " , " gang " , " gao " ,
   
" ge " , " gei " , " gen " , " geng " , " gong " , " gou " , " gu " , " gua " , " guai " , " guan " , " guang " , " gui " , " gun " , " guo " , " ha " , " hai " , " han " , " hang " ,
   
" hao " , " he " , " hei " , " hen " , " heng " , " hong " , " hou " , " hu " , " hua " , " huai " , " huan " , " huang " , " hui " , " hun " , " huo " , " ji " , " jia " , " jian " ,
   
" jiang " , " jiao " , " jie " , " jin " , " jing " , " jiong " , " jiu " , " ju " , " juan " , " jue " , " jun " , " ka " , " kai " , " kan " , " kang " , " kao " , " ke " , " ken " ,
   
" keng " , " kong " , " kou " , " ku " , " kua " , " kuai " , " kuan " , " kuang " , " kui " , " kun " , " kuo " , " la " , " lai " , " lan " , " lang " , " lao " , " le " , " lei " ,
   
" leng " , " li " , " lia " , " lian " , " liang " , " liao " , " lie " , " lin " , " ling " , " liu " , " long " , " lou " , " lu " , " lv " , " luan " , " lue " , " lun " , " luo " ,
   
" ma " , " mai " , " man " , " mang " , " mao " , " me " , " mei " , " men " , " meng " , " mi " , " mian " , " miao " , " mie " , " min " , " ming " , " miu " , " mo " , " mou " , " mu " ,
   
" na " , " nai " , " nan " , " nang " , " nao " , " ne " , " nei " , " nen " , " neng " , " ni " , " nian " , " niang " , " niao " , " nie " , " nin " , " ning " , " niu " , " nong " ,
   
" nu " , " nv " , " nuan " , " nue " , " nuo " , " o " , " ou " , " pa " , " pai " , " pan " , " pang " , " pao " , " pei " , " pen " , " peng " , " pi " , " pian " , " piao " , " pie " ,
   
" pin " , " ping " , " po " , " pu " , " qi " , " qia " , " qian " , " qiang " , " qiao " , " qie " , " qin " , " qing " , " qiong " , " qiu " , " qu " , " quan " , " que " , " qun " ,
   
" ran " , " rang " , " rao " , " re " , " ren " , " reng " , " ri " , " rong " , " rou " , " ru " , " ruan " , " rui " , " run " , " ruo " , " sa " , " sai " , " san " , " sang " ,
   
" sao " , " se " , " sen " , " seng " , " sha " , " shai " , " shan " , " shang " , " shao " , " she " , " shen " , " sheng " , " shi " , " shou " , " shu " , " shua " ,
   
" shuai " , " shuan " , " shuang " , " shui " , " shun " , " shuo " , " si " , " song " , " sou " , " su " , " suan " , " sui " , " sun " , " suo " , " ta " , " tai " ,
   
" tan " , " tang " , " tao " , " te " , " teng " , " ti " , " tian " , " tiao " , " tie " , " ting " , " tong " , " tou " , " tu " , " tuan " , " tui " , " tun " , " tuo " ,
   
" wa " , " wai " , " wan " , " wang " , " wei " , " wen " , " weng " , " wo " , " wu " , " xi " , " xia " , " xian " , " xiang " , " xiao " , " xie " , " xin " , " xing " ,
   
" xiong " , " xiu " , " xu " , " xuan " , " xue " , " xun " , " ya " , " yan " , " yang " , " yao " , " ye " , " yi " , " yin " , " ying " , " yo " , " yong " , " you " ,
   
" yu " , " yuan " , " yue " , " yun " , " za " , " zai " , " zan " , " zang " , " zao " , " ze " , " zei " , " zen " , " zeng " , " zha " , " zhai " , " zhan " , " zhang " ,
   
" zhao " , " zhe " , " zhen " , " zheng " , " zhi " , " zhong " , " zhou " , " zhu " , " zhua " , " zhuai " , " zhuan " , " zhuang " , " zhui " , " zhun " , " zhuo " ,
   
" zi " , " zong " , " zou " , " zu " , " zuan " , " zui " , " zun " , " zuo " };

        
///   <summary>
        
///  将汉字转化为拼音
        
///   </summary>
        
///   <param name="chrstr"> 输入汉字 </param>
        
///   <returns> 输出转化出的拼音 </returns>
        [WebMethod]
        
public   string  Convert( string  chrstr)
        {
            chrstr 
=  Server.HtmlEncode(chrstr);
            
            
byte [] array  =   new   byte [ 2 ];
            
string  returnstr  =   "" ;
            
int  chrasc  =   0 ;
            
int  i1  =   0 ;
            
int  i2  =   0 ;
            
char [] nowchar  =  chrstr.ToCharArray();
            
for  ( int  j  =   0 ; j  <  nowchar.Length; j ++ )
            {
                array 
=  System.Text.Encoding.Default.GetBytes(nowchar[j].ToString());
                i1 
=  ( short )(array[ 0 ]);
                i2 
=  ( short )(array[ 1 ]);
                chrasc 
=  i1  *   256   +  i2  -   65536 ;
                
if  (chrasc  >   0   &&  chrasc  <   160 )
                {
                    returnstr 
+=  nowchar[j];
                }
                
else
                {
                    
for  ( int  i  =  (pyvalue.Length  -   1 ); i  >=   0 ; i -- )
                    {
                        
if  (pyvalue[i]  <=  chrasc)
                        {
                            returnstr 
+=  pystr[i];
                            
break ;
                        }
                    }
                }
            }
            
return  returnstr;
        }
    }
}

step4: 新建内容页Default.aspx

<% @ Page Language = " C# "  MasterPageFile = " ~/Default.master "  Title = " My first AtlasWeb "   %>

< asp:Content  ID ="Content3"  ContentPlaceHolderID ="Main"  runat ="Server" >
    
< form  action ="" >
        
< div  align =center >
            
< input  id ="Chs"  type ="text"   />
            
< input  id ="Button1"  type ="button"  value ="转化为拼音"  onclick ="Convert()" /> &nbsp;
        
</ div >
    
</ form >
    
< hr  style ="width: 300px"   />
    
< div  align =center >
        
< span  id ="Results" ></ span >
    
</ div >

    
< script  type ="text/javascript"  src ="Chs2PyAsmx.asmx/js" >
  
</ script >
  
  
< script  language =javascript >
  
<!--
        
function  Convert()
        {
            
var  SrcChs  =  document.getElementById( " Chs " );
            AtlasWebLab.AspNet.Chs2PyAsmx.Convert(SrcChs.value,OnRequestConvert);
        }
        
        
function  OnRequestConvert(result)
        {
            
var  RsltConvert  =  document.getElementById( " Results " );
            RsltConvert.innerHTML 
=   " 转化结果为: " + result;
        }
  
-->
  
</ script >

</ asp:Content >

运行效果:
Atlas.jpg

转载于:https://www.cnblogs.com/Hedonister/archive/2005/09/23/242770.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
apache-atlas-2.1.0-hive-hook.tar.gz是Apache Atlas项目中的一个软件包。Apache Atlas是一个开源的数据治理和元数据框架,用于收集、集成、索引和搜索数据资产。它提供了一个统一的视图来管理企业中的所有数据资产,包括表、列、模式、实体和关系等。而apache-atlas-2.1.0-hive-hook.tar.gz是Atlas项目为了与Hive集成而提供的一个插件。 Hive是一个构建在Hadoop之上的数据仓库基础设施工具,用于处理大规模的结构化数据。它提供了类似于SQL的查询和分析功能,可以将数据批量导入、导出和查询。通过与Apache Atlas的集成,可以实现对Hive中数据资产的元数据管理和治理。 在实际的应用中,apache-atlas-2.1.0-hive-hook.tar.gz可以被部署到Hive的服务器上,并与Hive的插件机制进行集成。通过配置Hive的元数据存储URL、用户名和密码等信息,Atlas可以自动从Hive中提取元数据,并将其索引到Atlas的元数据仓库中。这样,用户可以在Atlas的界面中浏览和搜索Hive中的表、列和关系,并进行数据资产的管理和治理。 此外,apache-atlas-2.1.0-hive-hook.tar.gz还提供了一些其他功能,如基于分类标签的权限控制、数据血缘追踪、数据脱敏等。通过这些功能,用户可以更好地理解和管理Hive中的数据资产,提高数据治理的效率和质量。 总之,apache-atlas-2.1.0-hive-hook.tar.gz是Apache Atlas项目中用于与Hive集成的插件,通过它可以实现对Hive中数据资产的元数据管理和数据治理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值