2008年6月25日 星期三

縮小 UpdatePanel JavaScript size

使用 asp.net 的 UpdatePanel 時, 需要一併引用 ScriptManager 這個Control ,這個Control 有一個 [ScriptMode] 的屬性,如果要讓 AJAX 的 JavaScript size 變小,可以將ScriptMode的值設成Release,這樣可以將MicrosoftAjax.js 的大小從 324KB 戲劇化的變成 88.1KB

2008年6月18日 星期三

SCARD Error to Value

Table 1 – SCARD Error to Value
Error Code Hexadecimal Value
SCARD_F_INTERNAL_ERROR 80100001
SCARD_E_CANCELLED 80100002
SCARD_E_INVALID_HANDLE 80100003
SCARD_E_INVALID_PARAMETER 80100004
SCARD_E_INVALID_TARGET 80100005
SCARD_E_NO_MEMORY 80100006
SCARD_F_WAITED_TOO_LONG 80100007
SCARD_E_INSUFFICIENT_BUFFER 80100008
SCARD_E_UNKNOWN_READER 80100009
SCARD_E_TIMEOUT 8010000A
SCARD_E_SHARING_VIOLATION 8010000B
SCARD_E_NO_SMARTCARD 8010000C
SCARD_E_UNKNOWN_CARD 8010000D
SCARD_E_CANT_DISPOSE 8010000E
SCARD_E_PROTO_MISMATCH 8010000F
SCARD_E_NOT_READY 80100010
SCARD_E_INVALID_VALUE 80100011
SCARD_E_SYSTEM_CANCELLED 80100012
SCARD_F_COMM_ERROR 80100013
SCARD_F_UNKNOWN_ERROR 80100014
SCARD_E_INVALID_ATR 80100015
SCARD_E_NOT_TRANSACTED 80100016
SCARD_E_READER_UNAVAILABLE 80100017
SCARD_P_SHUTDOWN 80100018
SCARD_E_PCI_TOO_SMALL 80100019
SCARD_E_READER_UNSUPPORTED 8010001A
SCARD_E_DUPLICATE_READER 8010001B
SCARD_E_CARD_UNSUPPORTED 8010001C
SCARD_E_NO_SERVICE 8010001D
SCARD_E_SERVICE_STOPPED 8010001E
SCARD_E_UNEXPECTED 8010001F
SCARD_E_ICC_INSTALLATION 80100020
SCARD_E_ICC_CREATEORDER 80100021
SCARD_E_UNSUPPORTED_FEATURE 80100022
SCARD_E_DIR_NOT_FOUND 80100023
SCARD_E_FILE_NOT_FOUND 80100024
SCARD_E_NO_DIR 80100025
SCARD_E_NO_FILE 80100026
SCARD_E_NO_ACCESS 80100027
SCARD_E_WRITE_TOO_MANY 80100028
SCARD_E_BAD_SEEK 80100029
SCARD_E_INVALID_CHV 8010002A
SCARD_E_UNKNOWN_RES_MNG 8010002B
SCARD_E_NO_SUCH_CERTIFICATE 8010002C
SCARD_E_CERTIFICATE_UNAVAILABLE 8010002D
SCARD_E_NO_READERS_AVAILABLE 8010002E
SCARD_E_COMM_DATA_LOST 8010002F
SCARD_W_UNSUPPORTED_CARD 80100065
SCARD_W_UNRESPONSIVE_CARD 80100066
SCARD_W_UNPOWERED_CARD 80100067
SCARD_W_RESET_CARD 80100068
SCARD_W_REMOVED_CARD 80100069
SCARD_W_SECURITY_VIOLATION 8010006A
SCARD_W_WRONG_CHV 8010006B
SCARD_W_CHV_BLOCKED 8010006C
SCARD_W_EOF 8010006D
SCARD_W_CANCELLED_BY_USER 8010006E

Table 2 - SCARD Error Text Description
Text Description
SCARD_E_BAD_SEEK An error occurred in setting the smart card file object
pointer.
SCARD_E_CANCELLED The action was canceled by a SCardCancel request.
SCARD_E_CANT_DISPOSE The system could not dispose of the media in the
requested manner.
SCARD_E_CARD_UNSUPPORTED The smart card does not meet minimal requirements
for support.
SCARD_E_CERTIFICATE_UNAVAILABLE The requested certificate could not be obtained.
SCARD_E_COMM_DATA_LOST A communications error with the smart card has been
detected.
SCARD_E_DIR_NOT_FOUND The specified directory does not exist in the smart
card.
SCARD_E_DUPLICATE_READER The reader driver didn’t produce a unique reader
name.
SCARD_E_FILE_NOT_FOUND The specified file does not exist in the smart card.
SCARD_E_ICC_CREATEORDER The requested order of object creation is not
supported.
SCARD_E_ICC_INSTALLATION No primary provider can be found for the smart card.
SCARD_E_INSUFFICIENT_BUFFER The data buffer for returned data is too small for the
returned data.
SCARD_E_INVALID_ATR An ATR string obtained from the registry is not a valid
ATR string.
SCARD_E_INVALID_CHV The supplied PIN is incorrect.
SCARD_E_INVALID_HANDLE The supplied handle was invalid.
SCARD_E_INVALID_PARAMETER One or more of the supplied parameters could not be
properly interpreted.
SCARD_E_INVALID_TARGET Registry startup information is missing or invalid.
SCARD_E_INVALID_VALUE One or more of the supplied parameter values could
not be properly interpreted.
SCARD_E_NO_ACCESS Access is denied to the file.
SCARD_E_NO_DIR The supplied path does not represent a smart card
directory.
SCARD_E_NO_FILE The supplied path does not represent a smart card
file.
SCARD_E_NO_MEMORY Not enough memory available to complete this
command.
SCARD_E_NO_READERS_AVAILABLE No smart card reader is available.
SCARD_E_NO_SERVICE The smart card resource manager is not running.
SCARD_E_NO_SMARTCARD The operation requires a smart card but no smart
card is currently in the device.
SCARD_E_NO_SUCH_CERTIFICATE The requested certificate does not exist.,
SCARD_E_NOT_READY The reader or card is not ready to accept commands.
SCARD_E_NOT_TRANSACTED An attempt was made to end a non-existent
transaction.
SCARD_E_PCI_TOO_SMALL The PCI receive buffer was too small.
SCARD_E_PROTO_MISMATCH The requested protocols are incompatible with the
protocol currently in use with the card.
SCARD_E_READER_UNAVAILABLE The specified reader is not currently available for use.
SCARD_E_READER_UNSUPPORTED The reader driver does not meet minimal
requirements for support.
SCARD_E_SERVICE_STOPPED The smart card resource manager has shut down.
SCARD_E_SHARING_VIOLATION The smart card cannot be accessed because of other
outstanding connections.
SCARD_E_SYSTEM_CANCELLED The action was canceled by the system, presumably
to log off or shut down.
SCARD_E_TIMEOUT The user-specified timeout value has expired.
SCARD_E_UNEXPECTED An unexpected card error has occurred.
SCARD_E_UNKNOWN_CARD The specified smart card name is not recognized.
SCARD_E_UNKNOWN_READER The specified reader name is not recognized, reader
maybe disconnected.
SCARD_E_UNKNOWN_RES_MNG An unrecognized error code was returned from a
layered component.
SCARD_E_UNSUPPORTED_FEATURE This smart card does not support the requested
feature.
SCARD_E_WRITE_TOO_MANY An attempt was made to write more data than would
fit in the target object.
SCARD_F_COMM_ERROR An internal communications error has been detected.
SCARD_F_INTERNAL_ERROR An internal consistency check failed.
SCARD_F_UNKNOWN_ERROR An internal error has been detected, but the source is
unknown.
SCARD_F_WAITED_TOO_LONG An internal consistency timer has expired.
SCARD_P_SHUTDOWN The operation has been aborted to allow the server
application to exit.
SCARD_S_SUCCESS No error was encountered.
SCARD_W_CANCELLED_BY_USER The action was cancelled by the user.
SCARD_W_CHV_BLOCKED The card cannot be accessed because the maximum
number of PIN entry attempts has been reached.
SCARD_W_EOF The end of the smart card file has been reached.
SCARD_W_REMOVED_CARD The smart card has been removed, so that further
communication is not possible.
SCARD_W_RESET_CARD The smart card has been reset, so any shared state
information is invalid.
SCARD_W_SECURITY_VIOLATION Access was denied because of a security violation.
SCARD_W_UNPOWERED_CARD Power has been removed from the smart card, so that
further communication is not possible.
SCARD_W_UNRESPONSIVE_CARD The smart card is not responding to a reset.
SCARD_W_UNSUPPORTED_CARD The reader cannot communicate with the card, due to
ATR string configuration conflicts.
SCARD_W_WRONG_CHV The card cannot be accessed because the wrong PIN
was presented.

2008年6月13日 星期五

ASP AJAX 以及中文亂碼解決方案

1.Server端的 ASP 加上

Response.Charset="UTF-8"
Session.CodePage = 65001

2. Client 端的參數如果有中文 要先用 encodeURI ,將中文encode

3.如果要用JSON來傳給Client,可以使用 下面這個網站開發的 JSON class

http://www.webdevbros.net/2007/04/26/generate-json-from-asp-datatypes/

4. 這個網站的作者也有開發 ajaxed - free classic ASP Ajax Library (VBScript)
http://www.webdevbros.net/ajaxed/