318 ICloudTableStorageService interface, 26 DeleteBlobStatus class, 101 deleting entities in buckets, 35, 36—41 single storage table, 24—35 deleting messages from cloud queue, 76 develop
Trang 1318
ICloudTableStorageService interface,
26
DeleteBlobStatus class, 101
deleting entities
in buckets, 35, 36—41
single storage table, 24—35
deleting messages from cloud queue, 76
developing fabric services, 19
development storage, 4—15
best practices, 15—18
creating for first time, 13
direct connected system, 184—90
Direct mode (TcpRelayConnection), 174
distributed connected Windows
application, 191—204
DoDataExchange() method
ParameterControl class, 44
SQLDataServiceControl c, 44
Double type (table entity properties), 3
DoWork event
(QueuedBackgroundWorkerComp
onent), 104
Draw() method (IShape), 192
Draw Shape application, 191
Draw Shape Controller, 198
/dumplogs option (CSRun.exe), 18
E
endpoint relay connectivity (Service Bus),
173
entities (table storage), 2, 3
deleting and updating
in buckets, 35, 36—41
in single storage table, 24—35
querying
with HTTP REST, 22
with LINQ, 21
retrieving paginated data, 22
size limit on, 4
sort order, 3
event-driven system (loosely coupled),
creating, 89—96
events listeners, 89
Execute() method (SQLDataAccessHelper),
30 ExecuteDataSet() method
(SQLDataAccessComponent), 24 ExecuteDataTable() method
(SQLDataAccessComponent), 24 ExecuteNonQuery() method
(SQLDataAccessComponent), 24 ExecuteScalar() method
(SQLDataAccessComponent), 24 ExecuteSelected() method
(SQLDataAccessHelper), 30 executing scripts in SQLAzureConnect, 19
F
FederateAccessManager project, 157 Fiddler 2 tool, 19
FormSQLAzureConnect components, 52—
54
G
generating X.509 certificates, 149 GET request (HTTP), 80
GetBlobProperties() method, 86 GetDataReader() method
(SQLDataAccessComponent), 24 GetDependencyEntity() method
(ICloudEntity), 25 GetPartitionKey() method (ICloudEntity),
25 GetRegisteredUser() method
(IAzureForDotNetDeveloper), 141 GetRowKey() method (ICloudEntity), 25 GetUserList() method
(IUserRegisterService), 2 GridView class, 85
GUID type (table entity properties), 3
H
HEAD request (HTTP), 80 hosting applications from cloud, 302 hosting WCF service, 2—15
hosting workflow services, 2—10, 11—32
Trang 2319
HostWCFService, verifying from
development environment, 15—16
HTTP REST
querying cloud queue with, 80
querying table storage entities, 22
HttpWebRequest class, 11—32
HttpWebResponse class, 11, 26
Hybrid mode (TcpRelayConnection), 174,
184—90
I, J
IAccountFederationClientChannel
interface, 133
IAccountFederationService interface, 132
IAzureForDotNetDeveloper interface, 141
ICloudEntity interface, 25
ICloudTableStorageService interface, 25,
26
ICommand design pattern, 97, 101
IComparable interface, 205
identity, 129, See also Access Control
Service
increasing number of application
instances, 310
Insert() method
AddressTableService class, 6, 38
DataServiceContext class, 36
ICloudTableStorageService interface,
26
installing development storage, 13
installing X.509 certificate, 148
instances of applications, number of, 310
Int type (table entity properties), 3
Int64 type (table entity properties), 3
integration using WCF, 1—16
hosting WCF service, 2—15, 15—16
InvokeHttpWebRequest class, 28
InvokeWorkflows class, 28
IPublishEventService interface, 176
IRelayPublishEventService interface, 178
IShape interface, 192
ITableContext interface, 25, 26
IUserRegisterService interface, 2
K
KEY constraint, 17
L
LINQ, for querying entities, 21 ListBlobs() method, 86
listeners (event-driven systems), 89 logging support, 18
loosely coupled event-driven system,
creating, 89—96
M
maintaining cloud applications, 309—11 Map property (IShape), 192
MediaID property (MediaInfo), 85 MediaInfo class, 85
MediaUri property (MediaInfo), 85 MergeOption property
(DataServiceContext), 32, 36 message buffering, 68
MessageQueue class, 76 messages in cloud queue data types for, 74 polling and deleting, 76 putting into queue, 74 received, parsing, 78 Microsoft BizTalk server, 1 Microsoft NET Services, 2 Microsoft NET Workflow Services, 2
Microsoft SQL Azure See SQL Azure
Microsoft.ServiceBus namespace, 134, 136 migrating databases to SQL Azure, 14—18
N
name hierarchy system (Service Bus), 173 names for blobs, 82
NameValueCollection, 82 .NET Access Control Service, 129—70 building cloud application with, 131—41 with CardSpace security, 141—69 .NET Service Bus, 82, 129, 171—209 authentication modes, 181
Trang 3320
connecting to remote applications,
171—75
distributed connected application, 191—
204
posting events using relay connection,
175—84
simple direct connected system, 184—90
.NET Service Bus Queue, 204—9
.NET Services (Azure), 129, See also NET
Access Control Service; NET
Service Bus; NET Workflow
Service
.NET Services (Microsoft), 2
.NET Workflow Services (Azure), 1—32
coordinating using HttpWebRequest,
11—32
hosting workflow service, 2—10
.NET Workflow Services (Microsoft), 2
netEventRelayBinding type, 174, 175
netOnewayRelayBinding connection
mode, 174
netTcpRelayBinding type, 174
port forwarding with, 200
netTcpRelayContextBinding connection
mode, 174
non-portable data types for table entities,
15
NoTracking value (tracked property), 24
number of application instances,
changing, 310
O
Open() method
(IRelayPublishEventService), 178
organizing table structures, 18
OverwriteChanges value (tracked
property), 24
P
paginated data, retrieving, 22
ParameterControl components, 41—44
parsing messages received from cloud
queue, 78
Partition property, 3
PartitionKey property, 3 accessing storage tables, 18 building relational storage tables, 38 organizing data to be distributed, 18 querying entities by, 26
partitions, SQL Azure and, 17 .pfx format, 152
Ping() method
(IAzureForDotNetDeveloper), 141 polling messages from cloud queue, 76 PollingQueueData class, 205
port forwarding, 200 -portable data types for table entities, 15 posting events using relay connection,
175—84 PostMessage() (IPublishEventService), 176 PreserveChanges value (tracked property),
24 ProgressChanged event
(QueuedBackgroundWorkerComp onent), 104
properties of table entities, 2 maximum number of, 3 Public value (ContainerAccessControl), 81 PUT request (HTTP), 80
Q
QueryEntitiesByPartitionKey() method
(TableContext), 26, 27 QueryEntitiesByRowKey() method
(TableContext), 26, 27 querying
cloud queue using HTTP REST, 80 entities in cloud storage
with HTTP REST, 22 with LINQ, 21
queue See cloud queue
queue message data types, 74 queue storage, 1
QueueClient class, 205 QueueClientFactory class, 205 .NET Service Bus facade, 204—9 QueueDataUpdateArgs class, 208
Trang 4321
QueuedBackgroundWorker assembly, 101,
104
QueuedBackgroundWorkerComponent
component, 104
QueuedBackgroundWorkerItem class, 104
QueueManagementClient class, 205
QueuePolicy class, 205
R
refactoring data entity classes, 22
registering CardSpace with Access Control,
157
RegisterUser() method
(IAzureForDotNetDeveloper), 141
relational cloud data storage tables
accessing, 36—41
creating, 19—23
relational data structure, 21—22
relational data tables, verifying support
for, 9—13
relational databases, 1
relay connection, posting net events using,
175—84
Relayed mode (TcpRelayConnection), 174
remote applications, connecting to, 171—
75
ReplayAction value (GetRegisteredUser),
141
resource management, 68
RoleManager class, 18
RollbackTrans() method (SqlCommand),
24
RowKey property, 3
accessing storage tables, 18
building relational storage tables, 38
organizing data to be distributed, 18
querying entities by, 26
querying with LINQ (example), 21
running hosted applications, 307
RunWorkerCompleted event
(QueuedBackgroundWorkerComp
onent), 104
S
SAML tokens, 129 SaveChanges() method, 24, 36 schemas in Azure tables (none), 4 Script Data option, 15
script execution in SQLAzureConnect, 19
"Script extended properties" option, 15 Script USE DATABASE option, 15
security See Access Control Service;
CardSpace security; X.509 certification
Security Assertion Markup Language See
SAML tokens Security Token Service (STS), 130 Select() method (AddressTableService), 6 Service Bus service, 82, 129, 171—209 authentication modes, 181 connecting to remote applications, 171—75
distributed connected application, 191—
204 posting events using relay connection, 175—84
queue client facade, 204—9 simple direct connected system, 184—90 service name hierarchy system (Service
Bus), 173 service registry and publishing (Service
Bus), 173 ServiceBusEnvironment class, 205 ServiceConfiguration.cscf file, 1 ServiceConnection node, 21 ServiceCredentials class, 158 SetDependencyEntity() method
(ICloudEntity), 25 Shape class, 192
Shape Controller application, 191 sort order (table entities), 3 Speakeasy utility, 7
SQL Azure, 1—54 benchmark test for access, 7—9 component design and implementation, 40—54 FormSQLAzureConnect components, 52—54
Trang 5322
ParameterControl components, 41—
44
SQLDataServiceControl
components, 44—51
connecting to database, 3—6
connecting using ADO.NET, 13
connection timeout, 5
creating data tables, 6—7
developing applications for, 18—40
defining UI components
dynamically, 21—23
SQLDataAccessComponent class,
24—29
SQLDataAccessHelper class, 29—40
migrating databases to, 14—18
support for relational data tables,
verifying, 9—13
virtual server for, creating, 2—3
SQL Azure for relational data structure, 19
SQL Server Express, 4
SQL Server Management Studio
connecting to SQL Azure databases, 3—6
creating data tables, 6—7
testing for SQL Azure access, 7—9
verifying support for relational data
tables, 9—13
SQLAzureConnect tool, 13, 18—40
component design and
implementation, 40—54
FormSQLAzureConnect
components, 52—54
ParameterControl components, 41—
44
SQLDataServiceControl
components, 44—51
defining UI components dynamically,
21—23
functions of, 19—21
SQLDataAccessComponent class, 24—
29
SQLDataAccessHelper class, 29—40
SqlDataAccess schema, 21
SQLDataAccessComponent class, 24—29
SQLDataAccessHelper class, 29—40
SqlDataService node, 21
SQLDataServiceControl components, 44—
51 staging deployment, 305 StartReceiving() method, 77, 91 state machine workflows, limitations of, 7 storage, 1—23
accessing single storage table, 1—23 data entity class constructors, 17 deleting and updating entities, 24—
35 leveraging development fabric services, 19
logging support, 18 retrieving paginated data, 22 table storage keys, 18 application-level queue storage, 204—9 Azure Queue, 67—68
blob storage, 69—70 accessing, 96—111 creating, 80—89 cloud queue creating, 70—80 parsing received messages, 78 polling and deleting messages, 76 putting message into queue, 74 querying using HTTP REST, 80 deploying Azure Storage applications, 297—311
cloud application deployment process, 303—9
cloud application maintenance, 309—11
hosting application from cloud, 302 preparing packages for, 297—98, 299—
302 entities, about, 3 loosely coupled event-driven system, 89—96
table storage, creating best practices, 15—18 development storage, 4—15 relational data structure, 19—23 specification for, 2—3
updating tables in buckets, 35, 36—41 StorageAccountInfo class, 2