亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Microsoft.Net 的Java實現

2019-11-18 12:11:18
字體:
來源:轉載
供稿:網友

  眾所周知,微軟公司正在全力打造.Net,并預備將它作為向其他公司進攻的砝碼,來保證其在業界的技術領先地位。 其實,微軟公司在許多領域都處于領導地位,一些優秀的產品讓其他公司難望其項頸,如操作系統
  ,辦公軟件等基于Windows平臺的一些優秀的應用軟件(如:IE)。但在美國,許多大公司非常反感微軟一手包辦的作風,也對微軟的不放心,對其產品的安全性的擔憂,所以大部分都用Unix 和linux等非Windows平臺,許多服務器也是用的非Windows平臺,或是用自己開發的操作系統。但Windows的方便性和界面友好性及眾多的工具也是其他平臺難以比擬的(應該沒什么爭議的),而Unix和Linux平臺似乎只適合一些專家。能不能找到一個橋梁將Windows產品同其他平臺聯系起來呢?目前有www.stryon.com公司正在實現這一點,開發了iNet,將Microsoft.Net轉換成java代碼來實現跨平臺。
  
  例如用Visual Studio.Net開發了一個Web Service程序:
  
  testClient.asmx:
  
  <%@ WebService Language="C#" Class="testClient" %>
  
  
  using System;
  
  using System.Web.Services;
  
  using System.Web.Services.PRotocols;
  
  using System.Web.Services.Description;
  
  using System.xml;
  
  using System.Xml.Schema;
  
  using System.Xml.Serialization;
  
  using System.Data;
  
  
  public class testClient : WebService {
  
  
  [WebMethod()]
  
  public int testInt(int a,int b){
  
  return a+b;
  
  }
  
  
  [WebMethod()]
  
  public strUCt1 testStruct(struct1 a){
  
  return a;
  
  }
  
  
  [WebMethod()]
  
  public int[] testIntArr(int[] a){
  
  return a;
  
  }
  
  
  [WebMethod()]
  
  public struct1[] testStrArr(struct1[] a){
  
  return a;
  
  }
  
  
  [WebMethod()]
  
  public struct1 testStructAndArr(struct1 a,struct1[] b){
  
  return a;
  
  }
  
  
  [WebMethod()]
  
  public struct1[][] testStrManyArr(struct1[][] a){
  
  return a;
  
  }
  
  }
  
  
  public class struct1:parent{
  
  
  public int i=1;
  
  public string j="ok";
  
  public struct2 s2;
  
  }
  
  public class parent{
  
  
  public String p;
  
  }
  
  
  public class struct2{
  
  
  public String sField;
  
  }
  
  
  我們可以用il2java 工具轉換成java代碼(il2java工具可以在www.stryon.com 網站上下載,包括在iNet產品中),如:il2java http://localhost/testClient/testClient.asmx c:/temp,運行這個命令,將在c盤temp目錄下產生 testClient.java 和testClient_Info.java:
  
  testClient.java:
  
  
  import system.*;
  
  import system.Reflection.*;
  
  import system.Web.Services.*;
  
  
  public class testClient extends WebService{
  
  
  public int testInt(int a, int b){
  
  return a+b;
  
  }
  
  
  public struct1 testStruct(struct1 a){
  
  return a;
  
  }
  
  
  public int[] testIntArr(int[] a){
  
  return a;
  
  }
  
  
  public struct1[] testStrArr(struct1[] a){
  
  return a;
  
  }
  
  
  public struct1 testStructAndArr(struct1 a, struct1[] b){
  
  return a;
  
  }
  
  
  public struct1[][] testStrManyArr(struct1[][] a){
  
  return a;
  
  }
  
  
  public testClient(){
  
  super();
  
  
  }
  
  }
  
  用來指明Web Service中有哪些Web方法,以便被客戶調用;
  
  
  testClient_Info.java:
  
  
  import system.*;
  
  import system.Reflection.*;
  
  import system.Web.Services.*;
  
  
  public class testClient_Info implements IMetaData{
  
  
  public void fillType(Type t){
  
  long value = TypeAttributes.AnsiClass.value__ TypeAttributes.AutoLayout.value__ TypeAttributes.BeforeFieldInit.value__ TypeAttributes.Class.value__ TypeAttributes.Public.value__;
  
  TypeAttributes attributes = new TypeAttributes(value);
  
  t.set_Attributes(attributes);
  
  }
  
  
  public FieldInfo[] GetFieldsImpl(Type t){
  
  return new FieldInfo[0];
  
  }
  
  
  public ConstructorInfo[] GetConstructorsImpl(Type t){
  
  long value = 0;
  
  ConstructorInfo ctor = null;
  
  ParameterInfo param = null;
  
  MethodAttributes attributes = null;
  
  ParameterAttributes paramAttrs = null;
  
  java.util.Vector ctorVec = new java.util.Vector();
  
  
  // public testClient();
  
  value = MethodAttributes.HideBySig.value__ MethodAttributes.Public.value__ MethodAttributes.ReuseSlot.value__ MethodAttributes.RTSpecialName.value__ MethodAttributes.SpecialName.value__;
  
  attributes = new MethodAttributes(value);
  
  ctor = new ConstructorInfo(t);
  
  ctorVec.addElement(ctor);
  
  ctor.set_Attributes(attributes);
  
  ctor.set_Name("testClient");
  
  ctor.set_BindingFlags(BindingFlags.Public.value__ BindingFlags.Instance.value__);
  
  
  Object[] objs = ctorVec.toArray();
  
  ctorVec = null;
  
  ConstructorInfo[] ctors = new ConstructorInfo[objs.length];
  
  java.lang.System.arraycopy(objs, 0, ctors, 0, objs.length);
  
  return ctors;
  
  }
  
  
  public MethodInfo[] GetMethodsImpl(Type t){
  
  long value = 0;
  
  MethodInfo method = null;
  
  ParameterInfo param = null;
  
  MethodAttributes attributes = null;
  
  ParameterAttributes paramAttrs = null;
  
  java.util.Vector mdVec = new java.util.Vector();
  
  
  // public int testInt(int a, int b);
  
  value = MethodAttributes.HideBySig.value__ MethodAttributes.Public.value__ MethodAttributes.ReuseSlot.value__;
  
  attributes = new MethodAttributes(value);
  
  method = new MethodInfo(t);
  
  mdVec.addElement(method);
  
  method.set_Attributes(attributes);
  
  method.set_Name("testInt");
  
  method.set_ReturnType("System.Int32");
  
  method.set_BindingFlags(BindingFlags.Public.value__ BindingFlags.Instance.value__);
  
  value = 0;
  
  paramAttrs = new ParameterAttributes(value);
  
  param = new ParameterInfo(method);
  
  param.set_Attributes(paramAttrs);
  
  param.set_Name("a");
  
  param.set_ParamType("System.Int32");
  
  method.addParameterInfo(param);
  
  value = 0;
  
  paramAttrs = new ParameterAttributes(value);
  
  param = new ParameterInfo(method);
  
  param.set_Attributes(paramAttrs);
  
  param.set_Name("b");
  
  param.set_ParamType("System.Int32");
  
  method.addParameterInfo(param);
  
  
  // public struct1 testStruct(struct1 a);
  
  value = MethodAttributes.HideBySig.value__ MethodAttributes.Public.value__ MethodAttributes.ReuseSlot.value__;
  
  attributes = new MethodAttributes(value);
  
  method = new MethodInfo(t);
  
  mdVec.addElement(method);
  
  method.set_Attributes(attributes);
  
  method.set_Name("testStruct");
  
  method.set_ReturnType("struct1");
  
  method.set_BindingFlags(BindingFlags.Public.value__ BindingFlags.Instance.value__);
  
  value = 0;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大片在线影院| 亚洲国产精品大全| 欧美肥婆姓交大片| 青青久久av北条麻妃海外网| 国产一区二区黑人欧美xxxx| 亚洲色图校园春色| 日韩精品日韩在线观看| 亚洲国产精品一区二区久| 欧美孕妇孕交黑巨大网站| 国产欧美精品一区二区三区介绍| 尤物yw午夜国产精品视频| 欧美日韩国产第一页| 亚洲成人国产精品| 日韩视频免费中文字幕| 日韩精品欧美激情| 欧美性受xxxx黑人猛交| 亚洲午夜性刺激影院| 97精品国产97久久久久久| 日韩精品免费电影| 在线日韩精品视频| 亚洲社区在线观看| 91免费欧美精品| 欧美在线视频免费观看| 91黄色8090| 91九色国产视频| 久久中文字幕在线视频| 亚洲日韩欧美视频| 欧美另类在线播放| 日韩精品黄色网| 欧美国产在线视频| 亚洲最大福利视频网站| 国产视频久久久久| 久久精品国产2020观看福利| 欧美精品一区二区免费| 2019最新中文字幕| 欧美成人sm免费视频| 日韩免费黄色av| 国产精品麻豆va在线播放| 日韩中文字幕国产精品| 久久综合色88| 欧美日韩一区二区免费在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美成人精品激情在线观看| 青青a在线精品免费观看| 欧美成人合集magnet| 国产精品成人aaaaa网站| 欧美精品少妇videofree| 日韩精品日韩在线观看| 欧美日韩成人黄色| 国产午夜精品美女视频明星a级| 欧美高清在线视频观看不卡| 亚洲精品久久久久中文字幕欢迎你| 久久综合网hezyo| 日韩欧美在线字幕| 国产香蕉精品视频一区二区三区| 亚洲激情在线视频| 91久久久国产精品| 久热精品在线视频| 日韩精品一二三四区| 日韩精品视频在线免费观看| 亚洲欧美中文日韩在线v日本| 97视频在线观看免费| 成人免费视频a| 久久免费视频在线观看| 美女av一区二区三区| 欧美日韩国产成人在线| 97香蕉久久夜色精品国产| 欧美老女人xx| 国产精品偷伦一区二区| 久久久精品2019中文字幕神马| 欧美成人在线网站| 欧美激情日韩图片| 91久久久久久| 亚洲欧美一区二区三区在线| 国产一区二区三区日韩欧美| 国产精品无av码在线观看| 日韩视频一区在线| 欧美日本亚洲视频| 久99久在线视频| 久久久国产精品视频| 亚洲福利在线看| 精品亚洲国产成av人片传媒| 日韩精品视频在线观看网址| 欧美日韩福利在线观看| 欧美日韩国产精品一区二区三区四区| 国产成人精品亚洲精品| 欧美性少妇18aaaa视频| 久久久久久国产三级电影| 成人福利网站在线观看11| 亚洲视频第一页| 亚洲欧美制服中文字幕| 91大神在线播放精品| 久久久久久久久久久网站| 国产精品一区二区三区在线播放| 成人国产亚洲精品a区天堂华泰| 中文亚洲视频在线| 国内精品中文字幕| 91精品美女在线| 一本色道久久88亚洲综合88| 欧美一级大片在线免费观看| 国产一区欧美二区三区| 日韩成人久久久| 九九视频直播综合网| 亚洲黄色在线看| 精品magnet| 久久综合亚洲社区| 91爱爱小视频k| 欧美日韩中国免费专区在线看| 久久久久久国产精品久久| 亚洲欧美日韩国产中文| 久久久国产精品免费| 国产91对白在线播放| 国产精品一区二区三区成人| 午夜精品久久久久久久99热| 国产精品女视频| 国产日韩av在线| 精品亚洲男同gayvideo网站| 日韩中文字幕网站| 少妇av一区二区三区| 亚洲人成网站免费播放| 国产91色在线免费| 国产日韩在线免费| 国产亚洲精品一区二区| 久久人人爽人人爽人人片av高清| 国产专区精品视频| 人人爽久久涩噜噜噜网站| 日韩电视剧在线观看免费网站| 精品久久久久久久久久ntr影视| 8090理伦午夜在线电影| 91香蕉电影院| 亚洲高清免费观看高清完整版| 欧美精品999| 国产精品久久久久91| 亚洲性日韩精品一区二区| 97国产精品视频人人做人人爱| 欧美日韩中文字幕日韩欧美| 欧美日韩国产综合新一区| 国产精品一区=区| 日韩精品亚洲元码| 亚洲免费视频一区二区| 欧美黑人性猛交| 亚洲精品免费av| 成人精品一区二区三区电影免费| 精品久久久久久久久久久久久| 日韩精品视频中文在线观看| 91手机视频在线观看| 亚洲mm色国产网站| 国产女精品视频网站免费| 国产精品第七影院| 亚洲美女在线视频| 在线看片第一页欧美| 尤物tv国产一区| 91爱爱小视频k| 欧美另类极品videosbestfree| 国产日韩av在线| 欧美另类69精品久久久久9999| 日韩中文字幕在线观看| 成人午夜在线视频一区| 国产精品一区二区久久久久| 91久久久久久久久久久久久| 欧美日韩在线视频一区二区| 久久精品男人天堂| 久热爱精品视频线路一| 亚洲国产天堂久久综合|