net-framework微軟認(rèn)證考試題庫(kù)_第1頁(yè)
net-framework微軟認(rèn)證考試題庫(kù)_第2頁(yè)
net-framework微軟認(rèn)證考試題庫(kù)_第3頁(yè)
net-framework微軟認(rèn)證考試題庫(kù)_第4頁(yè)
net-framework微軟認(rèn)證考試題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1題

你正在開(kāi)發(fā)一個(gè)自定義事件處理去自動(dòng)打印所有打開(kāi)的文檔。事件處理可以指

定要打印的份

數(shù)。為此,你需要開(kāi)發(fā)一個(gè)傳遞給事件處理程序的自定義事件參數(shù)類(lèi),你應(yīng)該

使用下面那個(gè)

代碼段?

A.publicclassPrintingArgs{

privateintcopies;

publicPrintingArgs(intnumberOfCopies){

this.copies=numberOfCopies;

}

publicintCopies{

get{returnthis.copies;}

}}

B.publicclassPrintingArgs:EventArgs{

privateintcopies;

publicPrintingArgs(intnumberOfCopies){

this.copies=numberOfCopies;

}

publicintCopies{

get{returnthis.copies;}

}}

C.publicclassPrintingArgs{

privateEventArgseventArgs;

publicPrintingArgs(EventArgsea){

this.eventArgs=ea;

}publicEventArgsArgs{get{returneventArgs;}}}

D.publicclassPrintingArgs:EventArgs{

privateintcopies;}

答案:B

第2題

你使用反射(Reflection)來(lái)獲得方法MyMethod的信息。你需要獲取

MyMethod方法是否在

派生類(lèi)中可以訪問(wèn),你應(yīng)該如何做?

A.訪問(wèn)Methodinfo的IsAssembly屬性。

B.訪問(wèn)Methodinfo的IsVirtual屬性。

C.訪問(wèn)Methodinfo的IsStatic屬性。

D.訪問(wèn)Methodinfo的IsFamily屬性。

答案:D

第3題

你正在創(chuàng)建一個(gè)使用非托管資源的類(lèi)。這個(gè)類(lèi)引用了使用托管資源的對(duì)象。你

需要確保使用

這個(gè)類(lèi)的用戶(hù)在不需要類(lèi)實(shí)例的時(shí)候能夠夠釋放資源。你應(yīng)該做那三個(gè)工作?

(每個(gè)答案是解決方案的一部分)

A.定義一個(gè)從WeakReference繼承的類(lèi)。

B.定義一個(gè)實(shí)現(xiàn)【Disposable接口的類(lèi)。

C.創(chuàng)建一個(gè)類(lèi)析構(gòu)函數(shù),調(diào)用其它對(duì)象的方法去釋放托管資源。

D.創(chuàng)建一個(gè)類(lèi)析構(gòu)函數(shù),釋放非托管資源

E.創(chuàng)建一個(gè)Dispose方法,調(diào)用System.GC.Collect強(qiáng)制垃圾回收。

F.創(chuàng)建一個(gè)Dispose方法,釋放非托管資源并且調(diào)用其它對(duì)象的方法釋放托管

資源。

答案:B,D,F

第4題

你正對(duì)一個(gè)應(yīng)用進(jìn)行調(diào)試。你需要找到引起異常的代碼行。請(qǐng)問(wèn),Exception類(lèi)

的哪個(gè)屬性

能達(dá)到這個(gè)目的?

A.Data

B.Message

C.StackTrace

D.Source

答案:C

第5題

你正在測(cè)試一個(gè)新開(kāi)發(fā)的方法PersistToDBo這個(gè)方法接收一個(gè)類(lèi)型為

EventLogEntry的參數(shù),

方法沒(méi)有返回值。你需要?jiǎng)?chuàng)建一段代碼來(lái)幫助你測(cè)試這個(gè)方法。這段代碼必須

從本地計(jì)算機(jī)的應(yīng)

用日志讀取日志項(xiàng)然后傳遞日志項(xiàng)給PersistToDB方法。要求,傳遞到

PersistToDB方法的日

志項(xiàng)必須是MySource源而且類(lèi)型為錯(cuò)誤或警告的日志。你應(yīng)該使用下面那個(gè)

代碼段?

A.EventLogmyLog=newEventLog("Application",

foreach(EventLogEntryentryinmyLog.Entries)

if(entry.Source=="MySource")

(

PersistToDB(entry);

}

}

B.EventLogmyLog=newEventLog("Application",

myLog.Source="MySource";

foreach(EventLogEntryentryinmyLog.Entries)

(

if(entry.EntryType==(EventLogEntryType.Error&

EventLogEntryType.Warning))

(

PersistToDB(entry);

}

}

C.EventLogmyLog=newEventLog("Application",

foreach(EventLogEntryentryinmyLog.Entries)

(

if(entry.Source=="MySource")

(

if(entry.EntryType==EventLogEntryType.Error||entry.EntryType==

EventLogEntryType.Warning)

(

PersistToDB(entry);

}

}

}

D.EventLogmyLog=newEventLog("Application",

myLog.Source="MySource";

foreach(EventLogEntryentryinmyLog.Entries)

(

if(entry.EntryType==EventLogEntryType.Error||

entry.EntryType==EventLogEntryType.Warning)

(

PersistToDB(entry);

}

答案:C

第6題

你的應(yīng)用使用兩個(gè)名為threadOne和threadTwo的線程。你需要修改代碼

使其只有threadTwo

執(zhí)行完成才開(kāi)始執(zhí)行threadOne。你應(yīng)該如何做?

A.設(shè)置threadOne運(yùn)行在低優(yōu)先級(jí)。

B.設(shè)置threadTwo運(yùn)行在高優(yōu)先級(jí)。

C.使用WaitCallback代理去同步線程。

D.調(diào)用threadOne的Sleep方法。

答案:C

第7題

你是公司A的一個(gè)開(kāi)發(fā)人員。你創(chuàng)建了一個(gè)名為Companyl的程序集。

Companyl包含了一

個(gè)public方法。全局程序集中包含了另一個(gè)名為Company2的程序集。你

必須保證,public方

法只能夠被Company2調(diào)用。你需要使用下面哪個(gè)權(quán)限類(lèi)?

A.GacldentityPermission

B.PublisherldentityPermission

C.DataProtectionPermission

D.StrongNameldentityPermission

答案:D

第8題

你創(chuàng)建了一個(gè)發(fā)送e-mail的應(yīng)用。一個(gè)名稱(chēng)為smtp.C的

SMTP服務(wù)器在本地子

網(wǎng)是可用的。為了測(cè)產(chǎn)應(yīng)用,你使用源地址為_(kāi)

me@C,目標(biāo)地址為

vou@C。你應(yīng)該使用下面那個(gè)代碼段去發(fā)送e-mail?

A.MailAddressaddrFrom=

newMailAddress("me@C","Me");MailAddressaddrTo=

newMailAddress("you@C","You");MailMessage

message=new

MailMessage(addrFrom,addrTo);message.Subject=

"Greetings!";message.Body=

"Test";message.Dispose();

B.stringstrSmtpCIient="mstp.C";stringstrFrom=

"me@C";

StringstrTo="you@C";stringstrSubject=

"Greetings!";

stringstrBody="Test";MailMessage

msg=newMailMessage(strFrom,strTo,strSubject,strSmtpCIient);

C.MailAddressaddrFrom=new

MailAddress("me@C");MailAddressaddrTo=

new

MailAddress("you@C");MailMessagemessage=new

MailMessage(addrFrom,

addrTo);message.Subject="Greetings!";message.Body=

"Test";SmtpClientclient=new

SmtpClient("smtp.C");client.Send(message);

D.MailAddressaddrFrom=

newMailAddress("me@C","Me");MailAddressaddrTo=

new

MailAddress("you@C","You");MailMessagemessage=

new

MailMessage(addrFrom,addrTo);message.Subject=

"Greetings!";message.Body=

"Test";Socketlnformationinfo=newSocketlnformation();Socketclient

=new

Socket(info);System.Text.ASCIIEncodingenc=new

System.Text.ASCIIEncoding();byte[]

msgBytes=

enc.GetBytes(message.ToString());client.Send(msgBytes);

答案:C

第9題

你正在開(kāi)發(fā)一個(gè)自定義集合類(lèi)。你需要在你的類(lèi)里創(chuàng)建一個(gè)方法而且能夠保證

你的方法的返

回值是一個(gè)能夠適合Foreach語(yǔ)句使用的類(lèi)型。你應(yīng)該如何實(shí)現(xiàn)你的方法?

A.方法必須返回一個(gè)[Enumerator或[enumerable的類(lèi)型。

B.方法必須返回一個(gè)IComparable的類(lèi)型。

C.方法必須包含一個(gè)集合。

答案:A

第10題

你正在開(kāi)發(fā)一個(gè)執(zhí)行數(shù)學(xué)計(jì)算的應(yīng)用。你創(chuàng)建了一個(gè)類(lèi)Calculationvalues,

并且寫(xiě)了一個(gè)操

作Calculationvalues的過(guò)程PerformCalculation0你需要保證當(dāng)計(jì)算被執(zhí)

行的時(shí)候,用戶(hù)界面

能夠繼續(xù)響應(yīng)。為此,你需要寫(xiě)一個(gè)代碼段去調(diào)用PerformCalculation過(guò)程

去達(dá)到目的,你應(yīng)該

使用下面那個(gè)代碼段?

A.privatevoidPerformCalculation(){...}privatevoidDoWork(){

CalculationValuesmyValues=newCalculationValues();

ThreadnewThread=newThread(

newThreadStart(PerformCalculation));

newThread.Start(myValues);}

B.privatevoidPerformCalculation(){...}privatevoidDoWork(){

CalculationValuesmyValues=newCalculationValuesQ;

ThreadStartdelStart=new

ThreadStart(PerformCalculation);

ThreadnewThread=newThread(delStart);if(newThread.lsAlive)

{newThread.Start(myValues);}}

C.privatevoidPerformCalculation(Calculationvaluesvalues){...}private

void

DoWork(){

CalculationValuesmyValues=newCalculationValues();

Application.DoEvents();

PerformCalculation(myValues);

Application.DoEvents();}

D.privatevoidPerformCalculation(objectvalues){...}privatevoid

DoWork(){

CalculationValuesmyValues=newCalculationValues();

ThreadnewThread=newThread(

newParameterizedThreadStart(PerformCalculation));

newThread.Start(myValues);}

答案:D

第11題

你寫(xiě)了如下一段代碼publicdelegatevoidFaxDocs(objectsender,

FaxArgsargs);

你需要?jiǎng)?chuàng)建一個(gè)調(diào)用FaxDocs的事件,你應(yīng)該使用那個(gè)代碼段?

A.pulicstaticeventFaxDocsFax;

B.publicstaticeventFaxFaxDocs;

C.publicclassFaxArgs:EventArgs{

privatestringcoverPagelnfo;

publicFaxArgs(stringcoverinfo){

this.coverPagelnfo=coverPagelnfo;

}

publicstringCoverPagelnformation{

get{returnthis.coverPagelnfo;}

}}

D.publicclassFaxArgs:EventArgs{

privatestringcoverPagelnfo;

publicstringCoverPagelnformation{

get{returnthis.coverPagelnfo;}

}}

答案:A

第12題

你寫(xiě)如下的代碼段去調(diào)用Win32ApplicationProgrammingInterface(API):

stringpersonName="N?el";

stringmsg="Welcome"+personName+"toclub"!";

boolrc=User32API.MessageBox(0,msg,personName,0);

為了實(shí)現(xiàn)上面的調(diào)用,你需要定義一個(gè)方法原型,請(qǐng)問(wèn),你會(huì)采用那個(gè)代碼段

進(jìn)行定義?

A.[Dlllmport("user32",CharSet=CharSet.Ansi)]

publicstaticexternboolMessageBox(inthWnd,Stringtext,String

caption,uinttype);}

B.[Dlllmport("user32",EntryPoint="MessageBoxA",CharSet=

CharSet.Ansi)]

PublicstaticexternboolMessageBox(inthWnd,

[MarshalAs(UnmanagedType.LPWStr)]Stringtext,

[MarshalAs(UnmanagedType.LPWStr)]Stringcaption,

uinttype);}

C.[Dlllmport("user32",CharSet=CharSet.Unicode)]

publicstaticexternboolMessageBox(inthWnd,Stringtext,String

caption,uinttype);}

D.[Dlllmport("user32",EntryPoint="MessageBoxA",CharSet=

CharSet.Unicode)]publicstaticexternboolMessageBox(inthWnd,

[MarshalAs(UnmanagedType.LPWStr)]Stringtext,

[MarshalAs(UnmanagedType.LPWStr)]Stringcaption,uinttype);}

答案:C

第13題

你需要以字符串的形式返回isolatedstorage文件內(nèi)容。已知,文件名稱(chēng)為

Settings.dat并且在機(jī)

器范圍內(nèi)唯一。你應(yīng)該使用下面那個(gè)代碼段?

A.IsolatedStorageFileStreamisoStream;isoStream=new

IsolatedStorageFileStreamf

"Settings.dat",FileMode.Open);stringresult=new

StreamReader(isoStream).ReadToEnd();

B.IsolatedStorageFileisoFile;isoFile=

IsolatedStorageFile.GetMachineStoreForAssemblyO;

IsolatedStorageFileStreamisoStream;isoStream=new

lsolatedStorageFileStream(

"Settings.dat",FileMode.Open,isoFile);stringresult=new

StreamReader(isoStream).ReadToEnd();

C.IsolatedStorageFileStreamisoStream;isoStream=new

lsolatedStorageFileStream("Settings.dat",FileMode.Open);stringresult

isoStream.ToString();

D.IsolatedStorageFileisoFile;isoFile=

IsolatedStorageFile.GetMachineStoreForAssemblyO;

IsolatedStorageFileStreamisoStream;isoStream=new

IsolatedStorageFileStreamf

"Settings.dat",FileMode.Open,isoFile);stringresult=

isoStream.ToString();

答案:B

第14題

你正在寫(xiě)一個(gè)壓縮字節(jié)數(shù)組的方法。數(shù)組被以document作為參數(shù)名傳遞到一

個(gè)方法。你需

要壓縮輸入的字節(jié)數(shù)組并且返回一個(gè)字節(jié)數(shù)組作為結(jié)果。你的方法應(yīng)該使用下

面那個(gè)代碼

段?

A.Memorystreamstrm=newMemoryStream(document);DeflateStream

deflate=new

DeflateStream(strm,CompressionMode.Compress);byte[]result=new

byte[document.Length];deflate.Write(result,0,result.Length);return

result;

B.Memorystreamstrm=newMemoryStream(document);DeflateStream

deflate=new

DeflateStream(strm,

CompressionMode.Comress);deflate.Write(docemtn,0,

document.Length);deflate.Close();returnstrm.ToArray();

C.Memorystreamstrm=newMemoryStream();DeflateStreamdeflate=

new

DeflateStream(strm,

CompressionMode.Compress);deflate.Write(decument,0,

decument.Length);deflate.Close();returnstrm.ToArray();

D.MemorystreaminStream=new

MemoryStream(document);DeflateStreamdeflate=

newDeflateStream(inStream,CompressionMode.Compress);

MemorystreamoutStream=

newMemoryStream();intb;while((b=deflate.ReadByte())!=-1){

outStream.WriteByte((byte)b);}returnoutStream.ToArray();

答案:C

第15題

你需要選擇一個(gè)類(lèi)。它基于Key實(shí)現(xiàn)了小集合和大集合的優(yōu)化。你應(yīng)該選擇下面

那一個(gè)類(lèi)?

A.OrderedDictionaryclass

B.HybridDictionaryclass

C.ListDictionaryclass

D.Hashtableclass

答案:B

第16題

你正在寫(xiě)一個(gè)應(yīng)用。它利用SOAP去和其他應(yīng)用交換數(shù)據(jù)。你使用一個(gè)從

ArrayList繼承的

Department類(lèi)作為數(shù)據(jù)對(duì)象發(fā)送給另一個(gè)應(yīng)用。Department被命名為

depto為了通過(guò)SOAP

進(jìn)行傳送,你需要保證Department對(duì)象被序列化。你應(yīng)該使用下面那個(gè)代碼

進(jìn)行dept的序列

化?

A.SoapFormatterformatter=newSoapFormatter();byte[]buffer=new

byte[dept.Capacity];MemoryStreamstream=new

MemoryStream(buffer);foreach

(objectoindept){formatter.Serialize(stream,o);}

B.SoapFormatterformatter=newSoapFormatter();byte[]buffer=new

byte[dept.Capacity];MemoryStreamstream=new

MemoryStream(buffer);

formatter.Serialize(stream,dept);

C.SoapFormatterformatter=newSoapFormatter();MemoryStream

stream=new

MemoryStream();foreach(objectoindept){

Formatter.Serialize(stream,o);}

D.SoapFormatterformatter=newSoapFormatter();MemoryStream

stream=new

MemoryStream();formatter.Serialize(stream,dept);

答案:D

第17題

你需要寫(xiě)一個(gè)完成如下任務(wù)的代碼段:

1)查找所有暫停的服務(wù)

2)把服務(wù)的顯示名稱(chēng)增加到集合中

請(qǐng)問(wèn),你應(yīng)該使用那個(gè)代碼段?

A.DimsearcherAsManagementObjectSearcher=_New

ManagementObjectSearcher(_

"Select*fromWin32_ServicewhereState='Paused'")

ForEachsvcAs

ManagementobjectInsearcher.Get()

Collection1.Add(svc("DisplayName"))

Next

B.DimsearcherAsManagementObjectSearcher=_New

ManagementObjectSearcher(_

"Select*fromWin32_Service","State='Paused'")

ForEachsvcAsManagementobjectInsearcher.Get()

Collection1.Add(svc("DisplayName"))

Next

C.DimsearcherAsManagementObjectSearcher=_New

ManagementObjectSearcher(_

"Select*fromWin32_Service")

ForEachsvcAsManagementobjectInsearcher.Get()

Ifsvc("State").ToString()="'Paused',,Then

Collection1.Add(svc("DisplayName"))

EndIf

Next

D.DimsearcherAsNewManagementObjectSearcher()searcher.Scope=

New

ManagementScope("Win32_Service")

ForEachsvcAsManagementobjectInsearcher.Get()

Ifsvc("State").ToString()="Paused"Then

Collection1.Add(svc("DisplayName"))

EndIf

Next

答案:A

第18題

你正在寫(xiě)一個(gè)接收字符串參數(shù)message的方法。你的方法必須截取

message參數(shù)為單獨(dú)的

文本行并且傳遞每一行給另一個(gè)方法Processo你應(yīng)該使用那個(gè)代碼段?

A.DimreaderAsNew

StringReader(message)ProcessMessage(reader.ReadToEnd())reader

.Close()

B.DimreaderAsNewStringReader(message)Whilereader.Peek()<>-1

DimlineasString=reader.Read().ToString()

ProcessMessage(line)EndWhilereader.Close()

C.DimreaderAsNew

StringReader(message)ProcessMessage(reader.ToString())reader.CI

ose()

D.DimreaderAsNewStringReader(message)Whilereader.Peek()<>-1

ProcessMessage(reader.ReadLine())EndWhilereader.Close()

答案:D

第19題

你需要?jiǎng)?chuàng)建一個(gè)能夠和COM進(jìn)行互操作的類(lèi)。為此,你需要保證COM應(yīng)用

能夠創(chuàng)建這個(gè)

類(lèi)的實(shí)例并且能夠調(diào)用GetAddress方法。你應(yīng)該使用那個(gè)代碼段定義你的

類(lèi)?

A.publicclassCustomer{

stringaddressString;

publicCustomer(stringaddress){addressString=address;}

publicstringGetAddress(){returnaddressString;}}

B.publicclassCustomer{

staticstringaddressString;

publicCustomer(){}

publicstaticstringGetAddress(){returnaddressString;}}

C.publicclassCustomer{

stringaddressString;

publicCustomer(){}

publicstringGetAddress(){returnaddressString;}}

D.publicclassCustomer{

stringaddressString;

publicCustomer(){}

internalstringGetAddress(){returnaddressString;}}

答案:C

第20題

你正在開(kāi)發(fā)一個(gè)類(lèi)庫(kù)。你的代碼需要訪問(wèn)系統(tǒng)環(huán)境變量。對(duì)于未給調(diào)用堆棧中

處于較高位置

的所有調(diào)用方授予當(dāng)前實(shí)例所指定的權(quán)限,則在運(yùn)行時(shí)強(qiáng)制

SecurityException0你應(yīng)該調(diào)用

那個(gè)方法?

A.set.Demand();

B.set.Assert();

C.set.PermitOnlyO;

D.set.DenyQ;

答案:A

第21題

你正在開(kāi)發(fā)一個(gè)使用安全哈希算法計(jì)算給定數(shù)據(jù)哈希值的方法。傳遞給你方法

的數(shù)據(jù)是一個(gè)

名為message的字節(jié)數(shù)組。你需要計(jì)算輸入數(shù)據(jù)的SHA1哈希值,而且要把

計(jì)算結(jié)果放入名

為hash的字節(jié)數(shù)組。你應(yīng)該使用下面那一個(gè)代碼段?

A.SHA1sha=newSHA1CryptoServiceProvider();byte[]hash=

null;sha.TransformBlock(message,0,message.Length,hash,0);

B.SHA1sha=newSHA1CryptoServiceProvider();byte[]hash=

BitConverter.GetBytes(sha.GetHashCode());

C.SHA1sha=newSHA1CryptoServiceProvider();

byte[]hash=sha.ComputeHash(message);

D.SHA1sha=newSHA1CryptoServiceProvider();sha.GetHashCode();

byte[]hash=sha.Hash;

答案:C

第22題

你正在開(kāi)發(fā)一個(gè)以后可以使用MD5算法進(jìn)行驗(yàn)證的、計(jì)算哈希值的方法。傳

遞給你方法的

數(shù)據(jù)是一個(gè)名為message的字節(jié)數(shù)組。你需要計(jì)算輸入數(shù)據(jù)的MD5哈希值,

而且要把計(jì)算

結(jié)果放入名為hash的字節(jié)數(shù)組。你應(yīng)該使用下面那一個(gè)代碼段?

A.HashAlgorithmalgo=HashAlgorithm.Create("MD5");byte[]hash=

algo.ComputeHash(message);

B.HashAlgorithmalgo=HashAlgorithm.Create("MD5");byte[]hash=

BitConverter.GetBytes(algo.GetHashCode());

C.HashAlgorithmalgo;algo=

HashAlgorithm.Create(message.ToString());byte[]hash=

algo.Hash;

D.HashAlgorithmalgo=HashAlgorithm.Create("MD5");byte[]hash=

null;algo.TransformBlock(message,0,message.Length,hash,0);

答案:A

第23題

你需要?jiǎng)?chuàng)建一個(gè)名為MyAssembly的動(dòng)態(tài)類(lèi)庫(kù),同時(shí)你也需要把類(lèi)庫(kù)保存到

磁盤(pán)。你應(yīng)該使用

下面那個(gè)代碼段?

A.AssemblyNamemyAssemblyName=

newAssemblyName();myAssemblyName.Name=

"MyAssembly";AssemblyBuilder

myAssemblyBuilder=

AppDomain.CurrentDomain.DefineDynamicAssembly

(myAssemblyName,

AssemblyBuilderAccess.Run);myAssemblyBuilder.Save("MyAssembly

.dll");

B.AssemblyNamemyAssemblyName=

newAssemblyName();myAssemblyName.Name=

"MyAssembly";AssemblyBuilder

myAssemblyBuilder=

AppDomain.CurrentDomain.DefineDynamicAssembly

(myAssemblyName,

AssemblyBulderAccess.Save);myAssemblyBuilder.Save("MyAssembl

y.dll");

C.AssemblyNamemyAssemblyName=

newAssemblyName();AssemblyBuildermyAssemblyBuilder=

AppDomain.CurrentDomain.DefineDynamicAssembly

(myAssemblyName,

AssemblyBuilderAccess.RunAndSave);myAssemblyBuilder.Save("My

Assembly.dll");

D.AssemblyNamemyAssemblyName=

newAssemblyName("MyAssembly");AssemblyBuilder

myAssemblyBuilder=

AppDomain.CurrentDomain.DefineDynamicAssembly

(myAssemblyName,

AssemblyBuilderAccess.Save);myAssemblyBuilder.Save("c:\\MyAsse

mbly.dll");

答案:B

第24題

你需要從你的托管代碼使用平臺(tái)調(diào)用服務(wù)(platforminvokeservices)調(diào)用一

個(gè)非托管的函數(shù),

你應(yīng)該怎么做?

A.CreateaclasstoholdDLLfunctionsandthencreateprototype

methodsbyusingmanaged

Code。

B.注冊(cè)你的程序集為COM組件然后從COM中引用你的托管代碼。

C.為你的托管代碼導(dǎo)出類(lèi)型庫(kù)。

D.導(dǎo)入類(lèi)型庫(kù)作為一個(gè)程序集然后創(chuàng)建COM對(duì)象實(shí)例。

答案:A

第25題

你使用反射(Reflection)來(lái)獲得方法MyMethod的信息。你需要獲取

MyMethod方法是否在

派生類(lèi)中可以訪問(wèn),你應(yīng)該如何做?

A.訪問(wèn)Methodinfo的IsAssembly屬性。

B.訪問(wèn)Methodinfo的IsVirtual屬性。

C.訪問(wèn)Methodinfo的IsStatic屬性。

D.訪問(wèn)Methodinfo的IsFamily屬性。

答案:D

第26題

請(qǐng)使用下面的條件確定一個(gè)類(lèi)型:

1)是一個(gè)數(shù)字。

2)不大于65,535

請(qǐng)問(wèn),是哪一個(gè)類(lèi)型?

A.System.Ulntl6

B.int

C.System.String

D.System.lntPtr

答案:A

第27題

你正在寫(xiě)用戶(hù)驗(yàn)證和授權(quán)的代碼。username,password,和roles存儲(chǔ)在你的

應(yīng)用數(shù)據(jù)存儲(chǔ)區(qū)。

你需要建立一個(gè)用于授權(quán)檢查的用戶(hù)安全上下文,例如IsInRole。你寫(xiě)如下的代

碼段去驗(yàn)證用戶(hù):

if(!TestPassword(userName,password))

thrownewException("couldnotauthenticateuser");

StringQuserRolesArray=LookupUserRoles(userName);

你需要完成這段代碼從而為用戶(hù)建立安全上下文。你應(yīng)該使用那個(gè)代碼段?

A.Genericidentityident=newGenericldentity(userName);

GenericPrincipalcurrentuser=newGenericPrincipal(ident,

userRolesArray);

Thread.CurrentPrincipal=currentuser;

B.Windowsldentityident=new

Windowsldentity(userName);WindowsPrincipalcurrentuser=

newWindowsPrincipal(ident);Thread.CurrentPrincipal=currentuser;

C.NTAccountuserNTName=new

NTAccount(userName);Genericldentityident=new

Genericldentity(userNTName.Value);GenericPrincipalcurrentUser=

new

GenericPrincipal(ident,userRolesArray);Thread.CurrentPrincipal=

currentuser;

D.IntPtrtoken=lntPtr.Zero;token=LogonUserUsinglnterop(username,

encryptedPassword);WindowslmpersonationContextctx=

Windowsldentity.lmpersonate(token);

答案:A

第28題

你正在為一個(gè)HongKong的客戶(hù)開(kāi)發(fā)一個(gè)應(yīng)用。你需要為本地的貨幣顯示一

個(gè)符號(hào)。你應(yīng)該使

用那段代碼?

A.NumberFormatlnfoculture=new

Culturelnfo("zh-HK").NumberFormat;

culture.NumberNegativePattern=1;return

numberToPrint.ToString("C",culture);

B.NumberFormatlnfoculture=new

Culturelnfo("zh-HK").NumberFormat;

culture.CurrencyNegativePattern=1;return

numberToPrint.ToString("C",culture);

C.Cultureinfoculture=newCulturelnfo("zh-HK");return

numberToPrint.ToString("-(0)",

culture);

D.Cultureinfoculture=newCulturelnfo("zh-HK");return

numberToPrint.ToString("()",culture);

答案:B

第29題

你正在開(kāi)發(fā)一個(gè)將執(zhí)行數(shù)學(xué)計(jì)算的應(yīng)用。你需要確保應(yīng)用能夠同時(shí)的執(zhí)行多個(gè)

計(jì)算。你應(yīng)該

怎么做?

A.設(shè)置ProcessThread對(duì)象的IdealProcessor屬性。

B.設(shè)置ProcessThread對(duì)象的ProcessorAffinity屬性。

C.使用foreach進(jìn)行計(jì)算;調(diào)用ThreadPool的QueueUserWorkltem方法。

D.設(shè)置Process.GetCurrentProcess().BasePriority為High.

答案:C

第30題

你正在開(kāi)發(fā)一個(gè)名為Pollingservice的服務(wù),這個(gè)服務(wù)定期的調(diào)用一些需要長(zhǎng)

時(shí)間運(yùn)行的過(guò)程。

這些過(guò)程被DoWork方法調(diào)用。你的服務(wù)代碼如下:

refclassPollingservice:publicServiceBase{

public:

staticboolblnExit=false;

protected:

overridevoidOnStart(StringAargs){

do{

DoWork();

}while(IblnExit);

)

overridevoidOnStopO{

blnExit=true;

}

private:

voidDoWork(){}};

當(dāng)你試圖去啟動(dòng)服務(wù)的時(shí)候,你收到一個(gè)錯(cuò)誤:在本地計(jì)算機(jī)上不能啟動(dòng)

Pollingservice月艮務(wù)。

Error1053:服務(wù)不響應(yīng)啟動(dòng)或控制。你需要去修改服務(wù)代碼,使服務(wù)能夠被正

確啟動(dòng)。你應(yīng)該

如何做?

A.把循環(huán)代碼從OnStart方法移動(dòng)到服務(wù)類(lèi)的構(gòu)造函數(shù)中。

B.在服務(wù)的設(shè)計(jì)界面拖入一個(gè)timer組件。把調(diào)用長(zhǎng)運(yùn)行時(shí)間過(guò)程的代碼從

OnStart方法移動(dòng)到

timer的Tick事件中。在OnStart方法中設(shè)置timer的Enabled屬性為T(mén)rue,并

且調(diào)用timer的Start

方法。

C.給服務(wù)類(lèi)增加一個(gè)類(lèi)級(jí)別的System.Timers.Timer變量。然后在timer的

Elapsed事件中調(diào)用

DoWork方法。在OnStart方法中設(shè)置timer的Enabled屬性為T(mén)rue,并且調(diào)

用timer的Start方法。

D.把循環(huán)代碼從OnStart方法移動(dòng)到DoWork方法中。

答案:C

第31題

你是公司A的一個(gè)開(kāi)發(fā)人員。你創(chuàng)建了一個(gè)名為Companyl的程序集。

Companyl包含了一

個(gè)public方法。全局程序集中包含了另一個(gè)名為Company2的程序集。你

必須保證,public方

法只能夠被Company2調(diào)用。你需要使用下面哪個(gè)權(quán)限類(lèi)?

A.GacldentityPermission

B.PublisherldentityPermission

C.DataProtectionPermission

D.StrongNameldentityPermission

答案:D

第32題

你正在創(chuàng)建一個(gè)將被用于多個(gè)應(yīng)用的、名為Companyl的強(qiáng)類(lèi)型程序集。

Companyl在整個(gè)

開(kāi)發(fā)周期中會(huì)經(jīng)常的重新編譯。你需要保證,程序集在每次重新編譯后使用它

的應(yīng)用都能正確的

運(yùn)行。為此,你將配置開(kāi)發(fā)Companyl的計(jì)算機(jī),使每個(gè)應(yīng)用都能使用

Companyl的最新編譯

版本。你應(yīng)該通過(guò)下面哪兩個(gè)步驟完成?(每個(gè)答案代表解決方案的一部分)

A.創(chuàng)建一個(gè)指向強(qiáng)類(lèi)型程序集編譯輸出目錄的DEVPATH環(huán)境變量,。

B.在machine.config配置文件中增力口:vdevelopmentMode

developerlnstallation="true"/>

C.在machine.config配置文件中增加:

<dependentAssembly>

<assemblyldentityname="Company1"

publicKeyToken="32ab4ba45e0a69a1"

language="en-US"version="*.*.*.*"/>

<publisherPolicyapply="no"/>

</dependentAssembly>

D.為使用強(qiáng)類(lèi)型程序集的每個(gè)應(yīng)用的配置文件增加:<supportedRuntime

versions"*.*.*.*"/>

E.為使用強(qiáng)類(lèi)型程序集的每個(gè)應(yīng)用的配置文件增加:

<dependentAssembly>

ossemblyldentityname="Company1"

publicKeyToken="32ab4ba45e0a69a1"

language="en-US"version="*.*.*.*"/>

<bindingRedirectnewVersion="*.*.*.*'7>

</dependentAssembly>

答案:A,B

第33題

你正在定義一個(gè)名為Companyclass的、包含幾個(gè)子對(duì)象的類(lèi)。

CompanyClass類(lèi)包含一個(gè)

操作子對(duì)象的方法Processchildren。CompanyClass對(duì)像將被序列化。

你需要確保在

CompanyClass對(duì)象和所有子對(duì)象被重新構(gòu)造后Processchildren方法將

被執(zhí)行。你應(yīng)該通過(guò)下

面那兩個(gè)操作達(dá)到這個(gè)目的?(每個(gè)答案代表解決方案的一部分)

A.在Processchildren方法上應(yīng)用OnDeserializing屬性。

B.讓CompanyClass實(shí)現(xiàn)IDeserializationCallback接口。

C.讓CompanyClass從ObjectManager類(lèi)繼承。

D.在Processchildren方法上應(yīng)用。nSerialized屬性。

E.創(chuàng)建一個(gè)調(diào)用Processchildren的GetObjectData方法。

F.創(chuàng)建一個(gè)調(diào)用Processchildren的OnDeserialization方法。

答案:B,F

第34題

你正在開(kāi)發(fā)一個(gè)從應(yīng)用目錄動(dòng)態(tài)的裝入程序集的應(yīng)用。你需要寫(xiě)一段代碼去動(dòng)

態(tài)的裝入

Company1.dll程序集到當(dāng)前的應(yīng)用執(zhí)行域中。你應(yīng)該使用下面那段代碼?

A.AppDomaindomain=AppDomain.CurrentDomain;stringmyPath=

Path.Combine(domain.BaseDirectory,"Companyl.dll");

Assemblyasm=Assembly.LoadFrom(myPath);

B.AppDomaindomain=AppDomain.CurrentDomain;stringmyPath=

Path.Combine(domain.BaseDirectory,

"Companyl.dll");Assemblyasm=Assembly.Load(myPath);

C.AppDomaindomain=AppDomain.CurrentDomain;stringmyPath=

Path.Combine(domain.DynamicDirectory,"Companyl.dll");Assembly

asm=

AppDomain.CurrentDomain.Load(myPath);

D.AppDomaindomain=AppDomain.CurrentDomain;Assemblyasm=

domain.GetData("Company1.dll");

答案:A

第35題

你需要?jiǎng)?chuàng)建一個(gè)清除隊(duì)列(Queue)q的方法。你應(yīng)該使用下面那段代碼?

A.foreach(objecteinq){q.DequeueQ;}

B.foreach(objecteinq){Enqueue(null);}

C.q.Clear();

D.q.Dequeue();

答案:C

第36題

你開(kāi)發(fā)了一個(gè)需要部署的服務(wù)應(yīng)用。你的網(wǎng)絡(luò)管理員為你的服務(wù)應(yīng)用創(chuàng)建一個(gè)

用戶(hù)賬號(hào)。你

需要配置你的服務(wù),讓它運(yùn)行在指定用戶(hù)賬號(hào)的上下文中。你應(yīng)該如何做?

A.創(chuàng)建服務(wù)安裝類(lèi),設(shè)置Servicelnstaller類(lèi)的StartType屬性。

B.創(chuàng)建服務(wù)安裝類(lèi),設(shè)置ServiceProcessInstaller的Account,Username,

和Password屬性。

C.使用net.exe命令行工具的CONFIG選項(xiàng)去安裝服務(wù)。

D.使用installutil.exe命令行工具安裝服務(wù)。

答案:B

第37題

你正在創(chuàng)建一個(gè)使用非托管資源的類(lèi)。這個(gè)類(lèi)引用了使用托管資源的對(duì)象。你

需要確保使用

這個(gè)類(lèi)的用戶(hù)在不需要類(lèi)實(shí)例的時(shí)候能夠夠釋放資源。你應(yīng)該做那三個(gè)工作?

(每個(gè)答案是解決方案的一部分)

A.定義一個(gè)從WeakReference繼承的類(lèi)。

B.定義一個(gè)實(shí)現(xiàn)【Disposable接口的類(lèi)。

C.創(chuàng)建一個(gè)類(lèi)析構(gòu)函數(shù),調(diào)用其它對(duì)象的方法去釋放托管資源。

D.創(chuàng)建一個(gè)類(lèi)析構(gòu)函數(shù),釋放非托管資源

E.創(chuàng)建一個(gè)Dispose方法,調(diào)用System.GC.Collect強(qiáng)制垃圾回收。

F.創(chuàng)建一個(gè)Dispose方法,釋放非托管資源并且調(diào)用其它對(duì)象的方法釋放托管

資源。

答案:B,D,F

第38題

你使用反射(Reflection)來(lái)獲得方法MyMethod的信息。你需要獲取

MyMethod方法是否在

派生類(lèi)中可以訪問(wèn),你應(yīng)該如何做?

A.訪問(wèn)Methodinfo的IsAssembly屬性。

B.訪問(wèn)Methodlnfo的IsVirtua囑性。

C.訪問(wèn)Methodinfo的IsStatic屬性。

D.訪問(wèn)Methodinfo的IsFamily屬性。

答案:D

第39題

你正在創(chuàng)建一個(gè)執(zhí)行復(fù)雜財(cái)務(wù)運(yùn)算的類(lèi)。這個(gè)類(lèi)包含一個(gè)方法

GetCurrentRate,它得到當(dāng)前

的匯率并保存在變量currRate中。你為此類(lèi)實(shí)現(xiàn)了序列化。為此,你需要寫(xiě)

一段代碼,當(dāng)類(lèi)被

反序列化后,能夠使用當(dāng)前的實(shí)際匯率更新currRate變量。你應(yīng)該使用下面

那段代碼?

A.[OnSerializing]internalvoidUpdateValue(Streamingcontextcontext){

currRate=GetCurrentRate();}

B.[OnSerializing]internalvoidUpdateValue(Serializationlnfoinfo)

{info.AddValue("currentRate",GetCurrentRate());}

C.[OnDeserializing]internalvoidUpdateValue(Serializationlnfoinfo){

info.AddValue("currentRate",GetCurrentRate());}

D.[OnDeserialized]internalvoidUpdateValue(StreamingContextcontext)

(

currRate=GetCurrentRate();}

答案:D

第40題

你正在寫(xiě)一個(gè)使用獨(dú)立存儲(chǔ)區(qū)(isolatedstorage)存儲(chǔ)用戶(hù)參數(shù)信息的應(yīng)用。

應(yīng)用使用了多

個(gè)程序集,而且多個(gè)用戶(hù)將會(huì)在同一個(gè)機(jī)器上使用此應(yīng)用。你需要在當(dāng)前的

Microsoft

Windows標(biāo)識(shí)和程序集的獨(dú)立存儲(chǔ)區(qū)內(nèi)創(chuàng)建一個(gè)目錄Preferenceso你應(yīng)

該使用下面那段代

碼?

A.IsolatedStorageFilestore;store=

lsolatedStorageFile.GetUserStoreForAssembly();store.CreateDirectory

("Preferences");

B.IsolatedStorageFilestore;store=

lsolatedStorageFile.GetMachineStoreForAssembly();store.CreateDirect

ory("Preferences");

C.IsolatedStorageFilestore;store=

lsolatedStorageFile.GetUserStoreForDomain();store.CreateDirectory("

Preferences");

D.IsolatedStorageFilestore;store=

lsolatedStorageFile.GetMachineStoreForApplication();store.CreateDire

ctory("Preferences");

答案:A

第41題

你的公司正在使用一個(gè)名為Applicationl的、基于.NETFrameworkversion

1.0的應(yīng)用。這個(gè)

應(yīng)用當(dāng)前運(yùn)行在一個(gè)安裝有.NETFrameworkversions1.0和1.1的共享計(jì)算

機(jī)上?,F(xiàn)在,你需

要移動(dòng)這個(gè)應(yīng)用到一個(gè)新的安裝有.NETFrameworkversions1.1和2.0計(jì)

算機(jī)上。已知,這個(gè)

應(yīng)用被用.NETFramework1.1進(jìn)行了重新編譯,但是沒(méi)有用.NETFramework

2.0進(jìn)行編譯。你

需要保證應(yīng)用能夠運(yùn)行在新計(jì)算機(jī)的.NETFrameworkversion1.1上。你應(yīng)該

如何做?

A.在應(yīng)用配置文件增加如下XML元素:

〈configuration〉

<startup>

<supportedRuntimeversion="1.1.4322"/>

<startup>

</configuration>

B.在應(yīng)用配置文件增加如下XML元素:

<configuration>

<runtime>

<assemblyBinding

xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly>

<assemblyldentityname="Application1"

publicKeyToken="32ab4ba45e0a69a1"

culture="neutral"/>

<bindingRedirectoldVersion="1.0.3075.0"

newVersion="1.1.4322.0"/></dependentAssembly>

</assemblyBinding>

</runtime>

</configuration>

C.在應(yīng)用配置文件增加如下XML元素:

<configuration>

<startup>

<requiredRuntimeversion="1.1.4322"/>

<startup>

</configuration>

D.在應(yīng)用配置文件增加如下XML元素:

<configuration>

<runtime>

<assemblyBinding

xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly>

ossemblyldentityname="Application1"

publicKeyToken=',32ab4ba45e0a69a1"

culture="neutral"/>

<bindingRedirectoldVersion="1.0.3075.0"

newVersion="1.1.4322.0"/>

</dependentAssembly>

</assemblyBinding>

</runtime>

</configuration>

答案:A

第42題

你正在為應(yīng)用裝載一個(gè)新的程序集。你需要為程序集重載缺省的證據(jù)集

(Evidence)。如果

程序集是從本地的intranetzone被裝載,你需要公共語(yǔ)言運(yùn)行庫(kù)(CLR)為

程序集許可一個(gè)

權(quán)限集。為此,你需要建立一個(gè)證據(jù)集。你應(yīng)該使用下面哪一個(gè)代碼段?

A.Evidenceevidence=newEvidence(

Assembly.GetExecutingAssembly().Evidence

);

B.Evidenceevidence=newEvidence();evidence.AddAssembly(new

Zone(SecurityZone.lntranet));

C.Evidenceevidence=newEvidence();evidence.AddHost(new

Zone(SecurityZone.lntranet));

D.Evidenceevidence=newEvidence(

AppDomain.CurrentDomain.Evidence

);

答案:C

第43題

你正在開(kāi)發(fā)一個(gè)類(lèi)庫(kù)。此類(lèi)庫(kù)將打開(kāi)和網(wǎng)絡(luò)上其他計(jì)算機(jī)的網(wǎng)絡(luò)套接字連接

(networksocket

connections)o你將部署類(lèi)庫(kù)到全局程序集并且許可為完全信任。你寫(xiě)了如下

代碼去保證

socket連接是可用的:

SocketPermissionpermission=new

SocketPermission(PermissionState.Unrestricted);

permission.Assert();

使用這個(gè)類(lèi)庫(kù)的一些應(yīng)用并不需要必需的權(quán)限去打開(kāi)網(wǎng)絡(luò)套接字連接。你需要

取消斷言

(assertion)o你應(yīng)該使用下面那個(gè)代碼段:

A.CodeAccessPermission.RevertAssert();

B.CodeAccessPermission.RevertDenyQ;

C.permission.Deny();

D.permission.PermitOnly();

答案:A

第44題

你開(kāi)發(fā)了一個(gè)名為FileService的服務(wù)。你部署這個(gè)服務(wù)到你網(wǎng)絡(luò)上的多個(gè)服

務(wù)器上。你實(shí)現(xiàn)了

如下代碼段:

01publicvoidStartService(stringserverName){

02Servicecontrollercrtl=new

03ServiceController("FileService");

04if(crtl.Status==ServiceControllerStatus.Stopped){

05}

06}

你需要開(kāi)發(fā)一個(gè)服務(wù)管理程序,如果服務(wù)FileService停止了,則啟動(dòng)它。服務(wù)

管理程序啟動(dòng)

FileService服務(wù),要求以serverName作為輸入?yún)?shù)來(lái)標(biāo)識(shí)服務(wù)器。你應(yīng)該增

加下面哪兩行代碼

到上面的代碼典?

A.在03和04行之間插入代碼段:crtl.ServiceName=serverName;

B.在03和04行之間插入代碼段:crtl.MachineName=serverName;

C.在03和04行之間插入代碼段:crtl.Site.Name=serverName;

D.在04和05行之間插入代碼段:crtl.Continue();

E.在04和05行之間插入代碼段:crtl.Start();

F.在04和05行之間插入代碼段:crtl.ExecuteCommand(O);

答案:B,E

第45題

你創(chuàng)建了一個(gè)使用最終用戶(hù)身份進(jìn)行運(yùn)行的方法。你需要使用Microsoft

Windows用戶(hù)組去

驗(yàn)證用戶(hù)。你必須增加一個(gè)代碼段去驗(yàn)證用戶(hù)是否在本地用戶(hù)組Clerk里面。

你應(yīng)該使用下面那

個(gè)代碼段?

A.Windowsldentitycurrentuser=Windowsldentity.GetCurrent();foreach

(IdentityReferencegrpincurrentUser.Groups){

NTAccountgrpAccount=

((NTAccount)grp.Translate(typeof(NTAccount)));

isAuthorized=grpAccount.Value.Equals(Environment.MachineName+

@"\Clerk");

if(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論