Input: [Position(s)] 233 – 241 [Length] 9 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 247 – 249 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 250 – 255 [Length] 6 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 261 – 264 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 268 – 270 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 272 – 279 [Length] 8 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 282 – 284 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 286 – 288 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 294 – 299 [Length] 6 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 300 – 303 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 304 – 310 [Length] 7 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 323 – 325 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 337 – 339 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 345 – 349 [Length] 5 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 352 – 355 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 358 – 365 [Length] 8 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 366 – 368 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 369 – 379 [Length] 11 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 382 – 399 [Length] 18 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 404 – 408 [Length] 5 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 410 – 412 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1QAF [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 413 – 417 [Length] 5 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 419 – 422 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 428 – 430 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 437 – 444 [Length] 8 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 450 – 470 [Length] 21 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 478 – 493 [Length] 16 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 496 – 505 [Length] 10 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 510 – 518 [Length] 9 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 522 – 524 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 535 – 538 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 539 – 541 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 542 – 546 [Length] 5 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 549 – 552 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 554 – 564 [Length] 11 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 568 – 582 [Length] 15 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 590 – 600 [Length] 11 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 603 – 606 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 614 – 624 [Length] 11 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 630 – 643 [Length] 14 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 656 – 660 [Length] 5 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 662 – 665 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 667 – 672 [Length] 6 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 694 – 697 [Length] 4 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 698 – 700 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined hydrogen-bonded turns within the protein sequence. These elements correspond to the DSSP secondary structure code ‘T’.More...Turni

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 707 – 719 [Length] 13 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 723 – 725 [Length] 3 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined helical regions within the protein sequence.More...Helixi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Position(s)] 726 – 746 [Length] 21 [Description] Combined sources Manually validated information inferred from a combination of experimental and computational evidence. More… Manual assertion inferred from combination of experimental and computational evidencei PDB:1OAC [Feature key]

Output: Is used to indicate the positions of experimentally determined beta strands within the protein sequence.More...Beta strandi

tynA - Primary amine oxidase precursor - Escherichia coli (strain K12)


Input: [Name] name [Type] String [Default] '' [Description]

Output: The name of your site


Input: [Name] pages [Type] Array [Default] [] [Description]

Output: An array of markdown pages that will be compiled into HTML. The order of the pages will be preserved as the order in the navigation, with the first item being the homepage.


Input: [Name] css [Type] Array [Default] [] [Description]

Output: An array of additional CSS files or folders you'd like to include on your pages. All of the CSS files will be added to each page.


Input: [Name] less [Type] Array [Default] [] [Description]

Output: An array of additional LESS files or folders you'd like to include on your pages. Files will be compiled to CSS and added to each page.


Input: [Name] js [Type] Array [Default] [] [Description]

Output: An array of additional JS files or folders you'd like to include on your pages. All of the JS files will be added to each page.


Input: [Name] images [Type] Array [Default] [] [Description]

Output: An array of extra image files or folders you'd like to include in your export. Files will be put in the images folder, and can be referred to in your markdown from that folder


Input: [Name] assets [Type] Array [Default] [] [Description]

Output: An array of extra files or folders you'd like to include in your export. Files will be put in the images folder, and can be referred to in your markdown from that folder


Input: [Name] imageTitle [Type] FilePath [Default] null [Description]

Output: A file path to an image or logo you'd like to display instead of your site name on each page


Input: [Name] singlePage [Type] Boolean [Default] false [Description]

Output: A flag for if all the markdown should be compiled to a single page.


Input: [Name] tocLevel [Type] Number [Default] 6 [Description]

Output: Number of heading levels to use in the automatically generated menu


Input: [Name] preMenu [Type] Array or Object [Default] null [Description]

Output: Menu items you'd like to add before the generated menu


Input: [Name] postMenu [Type] Array or Object [Default] null [Description]

Output: Menu items you'd like to add after the generated menu


Input: [BILL NO.] HB1700 SB2815 [DESCRIPTION] To adjust and request appropriations for Fiscal Biennium 2013-15 funding requirements for operations and capital improvement projects of Executive Branch agencies and programs. [RELATING TO]

Output: STATE BUDGET (HTDC requesting $22M CIP funds to build a new innovation hub)


Input: [BILL NO.] HB2282 SB2832 [DESCRIPTION] Amends section 206M-15, Hawaii Revised Statutes, to add Phase II or III Small Business Innovation Research grants to qualifying criteria. Increases the ceiling on transfers from the Hawaii Capital Loan Revolving Fund from $100,000 to $500,000. [RELATING TO]

Output: HIGH TECHNOLOGY


Input: [BILL NO.] SB2981 [DESCRIPTION] Amends the state plan policies, objectives, and priority guidelines to promote and encourage innovative activity in the economy [RELATING TO]

Output: ECONOMY


Input: [BILL NO.] SB3126 [DESCRIPTION] Prohibits technology businesses from using noncompete agreements and restrictive covenants which forbid postemployment competition. [RELATING TO]

Output: EMPLOYMENT AGREEMENTS


Input: [BILL NO.] HB1704 SB2323 [DESCRIPTION] Clarifies that sections 41 and 280C(c) of the Internal Revenue Code shall be relied upon for calculating the state tax credit for research activities except that references to the base amount shall not apply and credit for all qualified research expenses may be taken without regard to the amount of expenses for previous years. [RELATING TO]

Output: RESEARCH ACTIVITIES


Input: [BILL NO.] HB2338 [DESCRIPTION] Clarifies that the credit is not available for research conducted outside of the State. Eliminates the requirement that the department of taxation certify all research credit claims. Clarifies that failure of the taxpayer to submit the required survey to the DBEDT is a waiver of the right to claim the credit. [RELATING TO]

Output: TAX CREDIT FOR RESEARCH ACTIVITIES


Input: [BILL NO.] HB2626 SB3082 [DESCRIPTION] Establishes an income tax credit for taxpayers who incur certain expenses for manufacturing products in Hawaii. Applies to taxable years beginning after December 31, 2014. Repealed on Janaury 1, 2023. [RELATING TO]

Output: TAX CREDIT FOR RESEARCH ACTIVITIES


Input: [BILL NO.] HB1534 [DESCRIPTION] Establishes an Agriculture Innovation Grant Program to fund agribusiness incubator programs to support start-up businesses in Hawaii focused on feed production, food waste recycling, on-farm energy efficiency, and soil health and conservation. [RELATING TO]

Output: AGRICULTURE INNOVATION


Input: [BILL NO.] HB1996 SB2077 [DESCRIPTION] Authorizes the issuance of general obligation bonds for the completion of the Maui Food Innovation Center at the University of Hawaii Maui College. [RELATING TO]

Output: MAUI FOOD INNOVATION CENTER


Input: [BILL NO.] HB2481 [DESCRIPTION] Establishes the Hawaii high impact center for commercialization in the University of Hawaii's office of the vice president for research and innovation. [RELATING TO]

Output: HAWAII HIGH IMPACT CENTER FOR COMMERCIALIZATION


Input: [BILL NO.] SB3081 [DESCRIPTION] Establishes an innovative business interaction program under the Hawaii tourism authority. Increases the transient accommodations tax revenues deposited into the tourism special fund by an amount to be used for the program. [RELATING TO]

Output: ECONOMIC DEVELOPMENT


Input: [BILL NO.] SB2776 [DESCRIPTION] Requires the board of directors of the high technology development corporation to create a film and media park. Designates certain properties to be included in the park. [RELATING TO]

Output: ECONOMIC DEVELOPMENT


Input: [BILL NO.] SB2397 [DESCRIPTION] Creates an agricultural technology park under the high technology development corporation. Designates certain properties to be included in the park. [RELATING TO]

Output: ECONOMIC DEVELOPMENT


Input: [BILL NO.] SB2399 [DESCRIPTION] Creates a geriatric research and technology park under the high technology development corporation. Designates certain properties to be included in the park [RELATING TO]

Output: ECONOMIC DEVELOPMENT


Input: [BILL NO.] SB2419 [DESCRIPTION] Requires the stadium authority to work with certain state agencies within a one-half mile radius of the proposed Aloha stadium rail station to develop a regional plan for a sports-technology district. [RELATING TO]

Output: ECONOMIC DEVELOPMENT


Input: [BILL NO.] SB3054 [DESCRIPTION] Requires the board of directors of the high technology development corporation to create a public safety technology park. Designates certain properties to be included in the park. [RELATING TO]

Output: ECONOMIC DEVELOPMENT


Input: [0] Biological process [KW term] Apoptosis [FDR (all)] 0 Direct [SDKW level]

Output: Moderately Informative


Input: [0] Biological process [KW term] Virulence [FDR (all)] 0.00005804 Direct [SDKW level]

Output: Informative


Input: [0] Post-translational modification [KW term] Hydrolase [FDR (all)] 0 Direct [SDKW level]

Output: Least Informative


Input: [0] Post-translational modification [KW term] Protease [FDR (all)] 0 Direct [SDKW level]

Output: Moderately Informative


Input: [0] Post-translational modification [KW term] Thiol protease [FDR (all)] 0 Direct [SDKW level]

Output: Informative


Input: [0] Post-translational modification [KW term] S-nitrosylation [FDR (all)] 0 Direct [SDKW level]

Output: Informative


Input: [0] Post-translational modification [KW term] Zymogen [FDR (all)] 0 Direct [SDKW level]

Output: Informative


Input: [Transcript ID] ENSMUST00000068133 [bp] 3384 [Protein] 462aa [Translation ID] ENSMUSP00000069744 [Biotype] Genes and/or transcript that contains an open reading frame (ORF).Protein coding [CCDS] CCDS36304 [UniProt] P11416 Q3U3R3 [RefSeq] NM_001177302 NP_001170773 [Flags] Transcript Support Level 1, when transcripts are supported by at least one non-suspect mRNA.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:1The GENCODE set is the gene set for human and mouse. GENCODE Basic is a subset of representative transcripts (splice variants).GENCODE basicPRINCIPAL3 - APPRIS candidate principal isoform (earliest CCDS).APPRIS is a system to annotate alternatively spliced transcripts based on a range of computational methods.APPRIS P3 [Name]

Output: Rara-001

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [Transcript ID] ENSMUST00000107473 [bp] 3238 [Protein] 459aa [Translation ID] ENSMUSP00000103097 [Biotype] Genes and/or transcript that contains an open reading frame (ORF).Protein coding [CCDS] CCDS48905 [UniProt] P11416 [RefSeq] NM_001176528 NP_001169999 [Flags] Transcript Support Level 1, when transcripts are supported by at least one non-suspect mRNA.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:1The GENCODE set is the gene set for human and mouse. GENCODE Basic is a subset of representative transcripts (splice variants).GENCODE basicALTERNATIVE2 - APPRIS candidate principal isoform that appears to be conserved in fewer than three tested non-primate species.APPRIS is a system to annotate alternatively spliced transcripts based on a range of computational methods.APPRIS ALT2 [Name]

Output: Rara-004

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [Transcript ID] ENSMUST00000164748 [bp] 3129 [Protein] 462aa [Translation ID] ENSMUSP00000129791 [Biotype] Genes and/or transcript that contains an open reading frame (ORF).Protein coding [CCDS] CCDS36304 [UniProt] P11416 Q3U3R3 [RefSeq] NM_001177303 NP_001170774 [Flags] Transcript Support Level 1, when transcripts are supported by at least one non-suspect mRNA.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:1The GENCODE set is the gene set for human and mouse. GENCODE Basic is a subset of representative transcripts (splice variants).GENCODE basicPRINCIPAL3 - APPRIS candidate principal isoform (earliest CCDS).APPRIS is a system to annotate alternatively spliced transcripts based on a range of computational methods.APPRIS P3 [Name]

Output: Rara-201

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [Transcript ID] ENSMUST00000107475 [bp] 2469 [Protein] 462aa [Translation ID] ENSMUSP00000103099 [Biotype] Genes and/or transcript that contains an open reading frame (ORF).Protein coding [CCDS] CCDS36304 [UniProt] P11416 Q3U3R3 [RefSeq] NM_009024 NP_033050 [Flags] Transcript Support Level 1, when transcripts are supported by at least one non-suspect mRNA.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:1The GENCODE set is the gene set for human and mouse. GENCODE Basic is a subset of representative transcripts (splice variants).GENCODE basicPRINCIPAL3 - APPRIS candidate principal isoform (earliest CCDS).APPRIS is a system to annotate alternatively spliced transcripts based on a range of computational methods.APPRIS P3 [Name]

Output: Rara-002

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [Transcript ID] ENSMUST00000107474 [bp] 2380 [Protein] 462aa [Translation ID] ENSMUSP00000103098 [Biotype] Genes and/or transcript that contains an open reading frame (ORF).Protein coding [CCDS] CCDS36304 [UniProt] P11416 Q3U3R3 [RefSeq] - [Flags] Transcript Support Level 5, for transcripts that are not supported at all by either an mRNA or an EST.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:5The GENCODE set is the gene set for human and mouse. GENCODE Basic is a subset of representative transcripts (splice variants).GENCODE basicPRINCIPAL3 - APPRIS candidate principal isoform (earliest CCDS).APPRIS is a system to annotate alternatively spliced transcripts based on a range of computational methods.APPRIS P3 [Name]

Output: Rara-003

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [Transcript ID] ENSMUST00000139399 [bp] 356 [Protein] No protein [Translation ID] - [Biotype] Transcripts that don't contain an open reading frame (ORF) and cannot be placed in one of the other categories.Processed transcript [CCDS] - [UniProt] - [RefSeq] - [Flags] Transcript Support Level 3, when transcripts are supported by a single EST only.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:3 [Name]

Output: Rara-005

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [Transcript ID] ENSMUST00000147985 [bp] 307 [Protein] No protein [Translation ID] - [Biotype] Transcripts that don't contain an open reading frame (ORF) and cannot be placed in one of the other categories.Processed transcript [CCDS] - [UniProt] - [RefSeq] - [Flags] Transcript Support Level 3, when transcripts are supported by a single EST only.The Transcript Support Level (TSL) is a method to highlight the well-supported and poorly-supported transcript models for users. The method relies on the primary data that can support full-length transcript structure: mRNA and EST alignments supplied by UCSC and Ensembl.TSL:3 [Name]

Output: Rara-006

Ensembl genome browser 81: Mus musculus - Summary - Gene: Rara (ENSMUSG00000037992)


Input: [0] Field [1] Type [2]

Output: Description


Input: [0] clone [1] Number [2]

Output: An existing instrumentation to duplicate (optional)


Input: [0] module [1] String [2]

Output: The CA module


Input: [0] stat [1] String [2]

Output: The CA stat


Input: [0] predicate [1] String [2]

Output: Must be a JSON string


Input: [0] decomposition [1] String [2]

Output: An array of arrays


Input: [0] granularity [1] Number [2]

Output: Number of seconds between data points (default is 1)


Input: [0] retention-time [1] Number [2]

Output: How long to keep this instrumentation's data for


Input: [0] persist-data [1] Boolean [2]

Output: Whether or not to store this for historical analysis


Input: [0] idle-max [1] Number [2]

Output: Number of seconds after which, if the instrumentation or its data has not been accessed via the API, the service may delete the instrumentation and its data


Input: [Glitch Trainer] PKMNTRAINER Thomas [Cause]

Output: Time method

Trainer House glitches - Bulbapedia, the community-driven Pokémon encyclopedia


Input: [Glitch Trainer] See List of glitch Trainers in Trainer House caused by the Unown method [Cause]

Output: Unown method

Trainer House glitches - Bulbapedia, the community-driven Pokémon encyclopedia


Input: [Glitch Trainer] Glitch Trainer with Pokémon of any level [Cause]

Output: Cartridge's battery has run dry

Trainer House glitches - Bulbapedia, the community-driven Pokémon encyclopedia


Input: [Glitch Trainer] Glitch Trainer with a level 0 Mankey or Primeape which freezes the game [Cause]

Output: Triggered as side-effect of bad cloning

Trainer House glitches - Bulbapedia, the community-driven Pokémon encyclopedia


Input: [Glitch Trainer] Glitch Trainer with Pokémon over level 100 of any species, sometimes even ?????. The game may also suddenly display "Waiting..." as if it was in a link battle. Once this message is displayed, the game will freeze. [Cause]

Output: Obtained through a corrupted link battle or Mystery Gift

Trainer House glitches - Bulbapedia, the community-driven Pokémon encyclopedia


Input: [Glitch Trainer] Glitch Trainer with numbers in their name, usually with Pokémon over level 100 [Cause]

Output: RAM physically damaged

Trainer House glitches - Bulbapedia, the community-driven Pokémon encyclopedia


Input: [1] Description [2] Default [0]

Output: Keyword


Input: [1] Username / Password [2] None [0]

Output: TARGET


Input: [1] New database name [2] None [0]

Output: DBNAME


Input: [1] Output log [2] None [0]

Output: LOGFILE


Input: [1] Revert failed change [2] NO [0]

Output: REVERT


Input: [1] Set a new database name only [2] NO [0]

Output: SETNAME


Input: [1] Append to output log [2] NO [0]

Output: APPEND


Input: [1] Displays help messages [2] NO [0]

Output: HELP


Input: [Categories] Bang for the buck [Comments]

Output: With a huge gym (including indoor/outdoor swimming pool), a bowling alley, a movie theatre and many dining options, ECU is defintetly worth the money.

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [Categories] What to do for fun [Comments]

Output: ECU is known as one of the biggest party schools in NC. You can literally walk to the clubs from campus. ECU also has a drunk bus that operates nightly between student apartments and downtown (a central location to the clubs)

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [Categories] Food and Dining [Comments]

Output: With dining options from buffet style with different themes every week, ECU also offers Chili's restaurant, Sbarro's and Chic-fil-a to name a few. There is even Starbucks and Java City on campus.

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [Categories] Dorm Life [Comments]

Output: Clean and well maintained. Security installed throughout dorms to keep you safe.

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [Categories] Academic Rigor [Comments]

Output: Academically, ECU is tough and demanding. But not too tough where no one graduates. You have to concentrate and actually do your work, which is great because it sets you up for the real world where you have to work for everything.

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [Categories] Tips for prospective students [Comments]

Output: Explore your options by leaving home and coming to East Carolina University, where tomorrow starts here.

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [Categories] In three sentences [Comments]

Output: ECU is beautiful, fulfilling and explorative. In a small town with big dreams, there seems to be ample networking opportunities as medical professionals frequent this area for the expanding hospital.

East Carolina University (ECU) Reviews: Student Reviews and Ratings | Cappex


Input: [0] Su [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Not Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [0] Mo [6-9 AM] Available [12-3 PM] Available [3-6 PM] Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [0] Tu [6-9 AM] Available [12-3 PM] Available [3-6 PM] Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [0] We [6-9 AM] Available [12-3 PM] Available [3-6 PM] Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [0] Th [6-9 AM] Available [12-3 PM] Available [3-6 PM] Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [0] Fr [6-9 AM] Available [12-3 PM] Available [3-6 PM] Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [0] Sa [6-9 AM] Not Available [12-3 PM] Not Available [3-6 PM] Not Available [6-9 PM] Not Available [9-12 PM] Not Available [12-6 AM] Not Available [9-12 AM]

Output: Not Available

Katherine B. - Bristol Pet Care Provider - Sittercity.com


Input: [Title] Asynchronous and Synchronous calls [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: You can rework the SvcUtil or VS generated proxy so that the same proxy will offer both synchronous and asynchronous calls. To download demonstrates the required code changes, as well as where to place the fault contracts.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Asynchronous calls [Category] Concurrency Management [Last Updated] 7/30/2007 [Description]

Output: WCF offers a the client a facility for dispatching calls to the service asynchronously. This is strictly a client-side feature, and the service itself is completely unaware that it is being called asynchronously. The client obviously needs a way to be notified when the calls complete and be able to harvest returned values or catch exceptions. All that is doe using a simple directive to SvcUtil: the /asyc switch that generates an asynchronous proxy. The download contains a sample asynchronous and synchronous proxy and a matching client, that uses a complete method to be notified when the call returns.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Callbacks and Reentrancy [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: By default WCF will not let a service callback within a service operation to its clients. The reason is that by default the service uses single-threaded access – only one client is allowed to call it at a time. If the service were to allow to call back to its client it could result with a deadlock if the client will call to the service as a result of the callback to the client. To allow callbacks, you need to configure the service for reentrancy – that is, release the lock before the callback, as show in the demo.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Callbacks thread Affinity Attribute [Category] Concurrency Management [Last Updated] 2/24/2007 [Description]

Output: The solution demonstrates IDesign CallbackThreadAffinityBehavior - a custom endpoint behavior attribute that makes all callback instances (regardless of the worker threads used for the callbacks) execute on the same thread. The attribute uses IDesign custom .NET 2.0 synchronization context that always marshals the calls to the same thread. This is instrumental is advanced cases such as thread local storage and COM interop as well as advanced synchronization needs.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Calls Priority Attribute [Category] Concurrency Management [Last Updated] 10/21/2007 [Description]

Output: By default, WCF calls execute in the order received by the service. This solution contains CallsPriorityBehavior attribute - a custom attribute that relies on a custom synchronization context, which marshals the calls to a pool of threads. The calls are sorted based on priority, then executed. The client provides the priority to the proxy constructor.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Form Host [Category] Concurrency Management [Last Updated] 2/28/2007 [Description]

Output: Instead of having a service update a form, how about making the form itself the service? The solution demonstrates IDesign FormHost - an abstract class that simply by deriving from it makes your Windows Forms form a WCF singleton.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Manual UI Updates [Category] Concurrency Management [Last Updated] 1/9/2007 [Description]

Output: When a service needs to update UI, if the service is not using the UI synchronization context, the service must manually marshal the call (which comes in on a worker thread) to the UI thread. The easiest way of doing that is using an anonymous method and a synchronization context, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Multiple UI Threads [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: You can quite easily have your service update some UI on the host side. All you have to do is open the host on the UI thread after establishing the Windows Forms synchronization context. In fact, nothing prevent you from having multiple UI threads, each with its own set of Forms and services, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Reentrancy [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: While the main motivation for reentrancy configuration is callbacks, it has its use in with cyclic calling: Service A calling B calling C calling back into A. Without reentrancy this would mean a deadlock, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Safe Asynchronous Calls [Category] Concurrency Management [Last Updated] 7/15/2007 [Description]

Output: by default, the completion callback of an asynchronous WCF call comes in on a thread from the thread pool. If the callback needs to execute on a particular thread (such as updating the UI with Windows Forms), you must marshal the call. The solution is IDesign's AsyncClientBase proxy base class, that will automatically marshal the call to the client synchronization context (if present).

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Safe Controls [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: Calls enter the service on worker threads. If the service needs to update Windows Forms forms and controls, it must marshal the update to the UI thread(s). Instead of using the synchronization context directly which serializes all calls to the service, you can use IDesign set of thread-safe Windows Forms controls - any service can access them as if running on the UI thread. This enables the same service to update multiple forms on multiple threads, and only marshal when necessary.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Thread Affinity [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: By default, WCF will establish an affinity between the service host and the synchronization context it was created on. Since by default there is no synchronization context, client calls are services on arbitrary worker threads. The download contains IDesign custom .NET 2.0 synchronization context that always marshals the calls to the same thread. By installing the custom synchronization context and then opening the host, all client calls are always routed to the same thread, thus establishing thread affinity between all instances and all endpoints of the service.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Thread Affinity Attribute [Category] Concurrency Management [Last Updated] 10/21/2007 [Description]

Output: The solution demonstrates IDesign ThreadAffinityBehaviorAttribute - a custom service behavior attribute that makes all service instances (regardless of the service instance mode or concurrency mode) execute on the same thread. The attribute uses IDesign custom .NET 2.0 synchronization context that always marshals the calls to the same thread. This is instrumental in advanced cases such as thread local storage and COM interop as well as advanced synchronization needs such as when creating a window (or a popup window) to be updated by the service.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Thread Pool Attribute [Category] Concurrency Management [Last Updated] 10/21/2007 [Description]

Output: By default, WCF calls execute on threads from the I/O completion ports thread pool. For some high-end scenarios, you may want to allocate a dedicated pool of threads to all calls of your service. This solution contains the ThreadPoolBehavior attribute which lets you specify the size of that pool. A pool size of one will generate thread affinity. The technique used here is a custom synchronization context that marshals all incoming calls to the dedicated pool of threads.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Timer Service and UI callbacks [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: The download contains an interesting concept – a service that acts like a timer, calling back to its clients on requested intervals. The service actually uses the .NET timer and delegates, and is a nice demo of how to bridge the two technologies - the timer delegates and the WCF callbacks. In addition, it demonstrates WCF ability to marshal the callbacks correctly to the UI thread the client it running on.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] UI Client and Worker Thread Callbacks [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: By default callbacks enter the client on worker threads. If the client is a Windows Forms object, you must marshal the calls to the UI thread. By default this is exactly what WCF will do if the client is a Windows Forms form. But if the client uses a worker thread to dispatch the calls, there will be no marshaling. The client may do so to avoid a deadlock if the service tries to call back during a service call. The download shows such a client that uses its own synchronization context to post messages back to its own UI thread to process the callbacks and avoid a deadlock.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Windows Forms and Callbacks [Category] Concurrency Management [Last Updated] 9/7/2006 [Description]

Output: When callbacks enter the client, they do so on a worker thread. If the callback object is a Windows Forms object, that worker thread cannot access the form directly, and instead, the call must be marshaled to the UI thread. Fortunately, WCF can do that automatically for you. Simply call the proxy on the UI thread, and the callback will be marshaled to the UI thread in turn. The download demonstrates this behavior.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Contract Overloading [Category] Contracts [Last Updated] 9/7/2006 [Description]

Output: While C# and VB will let you overload interface methods, by default, WCF will not let you overload contract operations. However, using simple aliasing you could provide both the service and the client the overloaded programming model, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Metadata Helper [Category] Contracts [Last Updated] 9/7/2006 [Description]

Output: The MetadataHelper class provided for a runtime way of parsing and querying the contracts of a running service. It allows the client to find out programmatically if the service supports a specified contract, it obtains all contracts of a running service, or the operations of a specified contract. These powerful and useful features are often required during setup or in administration applications and tools.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Service Contract Inheritance [Category] Contracts [Last Updated] 9/7/2006 [Description]

Output: On the service side, WCF lets you define and use a contract hierarchy simply by applying the ServiceContract attribute at every level of the interface hierarchy, deriving and implementing it. The service can even expose a single endpoint for all contracts. However, the imported metadata definitions on the client side do not maintain the interface hierarchy. The solution shows the simple steps required to rework the client side definitions to reflect correctly the contract hierarchy and maintain an is-a relationship between the imported contracts.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Service Contract Inheritance with proxy chaining [Category] Contracts [Last Updated] 9/7/2006 [Description]

Output: Even after reworking the imported definitions of a contract hierarchy, you still have a single proxy class. You can however have the client use a hierarchy of proxies that provided an is-a relationship between the proxies, yielding a much smoother programming model. The solution demonstrates this technique we call proxy-chaining.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Class Hierarchy [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: When serializing a data contract type into or from a service operation, the compiler will gladly let you pass in a sub class of the data type. However, this will by default fail the call because WCF will not know how to serialize or deserialize the sub class. For that, you have to apply the KnownTypeAttribute at the proxy or contract level, as show in The download. You will also need to apply the attribute on the service side if the service needs to return matching sub classes.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Custom Collection [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: WCF will let the service define a contract that returns a custom collection. While you cannot share the definition of the custom collection across the service boundary, you can apply the CollectionDataContract attribute to have it exposed to the client as a custom generic list, as shown in The download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Data Extensions and Round Trip [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: While the default behavior of a data contract type is to simply ignore extraneous unexpected members, you can instruct it to still store and pass it along to and from the service by implementing IExtensibleDataObject. This enables a round-trip scenario, where a new client is calling an old service with the new data contract, and the service can even pass the data contract unaffected to another service or client, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Data Tables [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: The download demonstrates WCF ability to use ADO.NET data tables as-is in operation parameters. You can even use type-safe data tables, and the imported proxy file contains an imported data table definition. You can remove that definition if the client has a local definition already of the table.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Data Tables as arrays [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: While WCF lets you freely pass ADO.NET data tables to and from a service, it is a questionable practice at best if the service needs to work with non-.NET clients. It is better in such cases to rerun the items in a neutral array. The solution demonstrates the use of the IDesign helper class DataTableHelper which converts the table to an array.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Enums [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: The EnumMemberAttribute allows data contract developers to alias the values of an enum and even to omit them from the data contract, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Generic Resolver [Category] Data Contracts [Last Updated] 2/12/2011 [Description]

Output: The WCF provided known type resolver requires dedicated coding for each and every sub class, and also to manually install the resolver on the host and the client. IDesign's generic resolver addresses all that, and to a large extent, makes the whole issue of known types simply go away. The generic resolver uses reflection to find all possible known types in all referenced assemblies and as long as the compiler allowed them, the resolver resolves it automatically. You can also instruct it to resolve only specific known types. On the service side, you can use the GenericResolverBehaviorAttribute to allow the service to accept any sub class of its data contracts. You can also use the AddGenericResolver() host extension method to attach the reso

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Known Type Resolver [Category] Data Contracts [Last Updated] 2/12/2011 [Description]

Output: With .NET 4.0, WCF provides for a simple programmatic way of resolving a known type issue. Whenever the serializer encounters a type it does not know how to resolve, allows the developer to resolve it at runtime by deriving from DataContractResolver and calling ResolveName() during deserialization to return the resolved type or TryResolveType() to return the name and namespace of a type being serialized. The demo shows how to implement such a resolver for a particular case. You will also see how to install the resolver on the host and the client sides. As you can see, it is very labor intensive. This issue is addressed with the Generic Resolver provided by IDesign.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Known Types in Config [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: While you typically apply the KnownType attribute at design time to allow sub classes of your data contract, this is of no use when the client passes in a new sub type later on. You can compensate for that by including the known type information in the config file, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Order and Equivalence [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: When generating an equivalent data contract to an already existing one, it is insufficient to alias the type and the members. You also need to ensure that the order of serialization is maintained – first by class hierarchy then alphabetically. In case of a discrepancy, you can compensate by setting the Order property of the DataMember attribute as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Versioning [Category] Data Contracts [Last Updated] 9/7/2006 [Description]

Output: WCF lets the client and the service version independently their definitions of the same data contract. If the client sends a type with a missing member the service expects, the missing member on the service side will be initialized to its default value. If the data type contains a member the service is unaware of, it will be silently ignored. In addition, WCF allows both sides to explicitly require a particular data member or else fail the call. The download contains three solutions demonstrating these behaviors.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Ad-hoc Discovery [Category] Discovery [Last Updated] 1/22/2010 [Description]

Output: The solution demonstrates several important points often used in conjunction with discovery. The service uses the standard MEX and discovery endpoints, as well as relying on the host to implement the discovery and metadata exchange endpoints. This means you have to explicitly add the default endpoints. The service also picks up an available TCP port on the fly, dynamically. The client uses two techniques to invoke the service. The first is regular discovery of the address while having a priori knowledge of the binding. The second is with the IDesign DiscoveryFactory, which first discovers the service metadata address, then obtains the metadata, and uses the address and the binding in the metadata to create the proxy.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Announcements [Category] Discovery [Last Updated] 1/22/2010 [Description]

Output: The demos shows how to configure all hosts in the process to automatically announce their state (Hello/Bye). The client uses the IDesign AnnouncementSink<T> to receive the announcements. While AnnouncementSink<T> hosts internally an instance of AnnouncementService, it improves on its deficiencies. First, AnnouncementSink<T> offers two event delegates for notifications. Unlike the raw AnnouncementService, AnnouncementSink<T> fires these delegates concurrently. In addition, AnnouncementSink<T> disables the synchronization context affinity of AnnouncementService, so that it can accept the announcements on any incoming thread, making it truly concurrent. AnnouncementSink<T> filters the contract types and only fires its events when compatible en...

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Dynamic Addresses [Category] Discovery [Last Updated] 1/22/2010 [Description]

Output: If the service knows the clients will use discovery, then there is no need to deploy the service pre-configured ports or pipes. The host can simply pick up any available port or pipe on the fly, at runtime. This is exactly what you can do with the IDesign helper class DiscoveryHelper and its properties AvailableTcpBaseAddress and AvailableIcpBaseAddress. provide those to the host as base addresses and enable discovery.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Publish-Subscribe Framework [Category] Discovery [Last Updated] 1/22/2010 [Description]

Output: Using raw duplex for events couples the publishers to the subscribers. They each have to know where the other is, both have to be running to publish or receive events, subscribers cannot subscribe to a type of event, and publishers cannot broadcast an event to subscribers they do not know about. The publish-subscribe design pattern decouples the publishers from the subscribers by introducing a dedicated subscription service and a dedicated publishing service in between. You can also have transient subscribes which are live subscribers using callbacks and persistent subscribers which are services to invoke like any other service, and can even be not-running. The download contains IDesign framework for implementing in only a few lines of code

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Scopes [Category] Discovery [Last Updated] 1/22/2010 [Description]

Output: A simple demonstrations of using scopes to filter on the discovered service endpoints.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] TCP-Based WCF Discovery [Category] Discovery [Last Updated] 6/23/2014 [Description]

Output: With WCF 4.0, developers could leverage discovery for easy deployment and literally config file-free applications. Simply move the bits to the target machines and everything works. Discovery acts as the ultimate class factory, connecting clients to services. But WCF discovery uses UDP - a noisy unreliable protocol often blocked in many Enterprise environments. However, at the heart of all discovery mechanisms is the broadcasting of a query for available compatible services, and with the proper infrastructure you can substitute TCP for UDP. This download contains an alternative discovery technique based on TCP, along with the helper classes that streamline the discovery both on the client and the service side. The file demonstrates both plain discovery and announcements. You can use this as your own dynamic distributed configuration repository, deployed with one or two lines of code.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Aborting the Host [Category] Essentials [Last Updated] 9/7/2006 [Description]

Output: When calling ServiceHost.Close(), calls in progress are allowed to complete gracefully, and only future calls are denied. ServiceHost.Abort() on the other hand is an ungraceful exit, and it aborts calls in progress, resulting with an error on the client side. This simple demo lets you experiment with the differences between Close() and Abort().

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] App Domain Host [Category] Essentials [Last Updated] 10/21/2007 [Description]

Output: By default, the service host class creates the service instance in the same app domain as its caller. This solution contains the IDesign custom service host AppDomainHost that injects the service instance in a new app domain, thus better catering for fault and security isolation.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Context bindings as custom context [Category] Essentials [Last Updated] 10/30/2008 [Description]

Output: With .NET 3.5, WCF provides three context bindings (BasicHttpContextBinding, NetTcpContextBinding, WSHttpContextBinding). These support a context protocol for passing custom parameters from the client to the service in the form of a dictionary of strings keys and values. This is a general technique for passing out-of-band parameters to the call, in effect giving the service a custom context, not unlike the other WCF contexts, such as transaction or security. Using the context binding on both sides requires intricate interaction with the operation context and the proxy. To automate, IDesign provides the ContextManager helper class which streamlines reading and writing into the context binding and ContextClientBase, which derives ClientBas

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] In-Proc Factory [Category] Essentials [Last Updated] 2/24/2007 [Description]

Output: The solution contains an IDesign helper class called InProcFactory - a WCF factory designed to streamline and automate hosting services in the same process as the client. There is no need for any config file or programmatic calls to create the host or configure the binding. All the in-proc factory requires is the type of the service and the type of the requested contract. It is as close as you can get in WCF to the Win32 API of LoadLibrary() and it is the easiest way to shim up a class as a service instead of using the class as a traditional CLR class.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] In-Proc Hosting [Category] Essentials [Last Updated] 9/7/2006 [Description]

Output: WCF lets the service execute in the client’s process. This hosting mode is called In-Proc hosting. You should use named pipe binding, and you can even have a single config file for both the client and the host. This simple demo demonstrates in-proc hosting.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Message headers as custom context [Category] Essentials [Last Updated] 10/30/2008 [Description]

Output: A WCF client can add into the message headers any custom information, and the service can in turn read those headers. Message headers are a general techniques for passing out-of-band parameters to the call, in effect giving the service a custom context, not unlike the other WCF contexts, such as transaction or security. Using the headers on both sides requires intricate interaction with the message, the operation context and the proxy. To automate, IDesign provides the GenericContext<T> helper class which streamlines reading and writing into the headers any custom context, and HeaderClientBase<T,H>, which derives IDesign's InterceptorClientBase<T> and automates passing the parameters from the client. The demo shows how to provide for a simp...

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Metadata Explorer [Category] Essentials [Last Updated] 1/9/2010 [Description]

Output: The Metadata Explorer is a helper utility that visualizes the available service endpoints of a running service. This is done using metadata exchange - roughly the WCF equivalent of .NET reflection. Metadata contains not just contracts and operations but also information about security, transactions, reliability and faults. WCF makes it easy to programmatically query and discover the metadata of a service. The tool uses WCF's MetadataExchangeClient and MetadataImporter, and WsdlImporter to obtain and parse the metadata into endpoints. The Metadata Explorer tool simply visualizes the information returned and is very useful in seeing what a service has to offer without resorting to development tools. The tools also utilizes discovery, allowing

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Multiple Endpoints [Category] Essentials [Last Updated] 9/7/2006 [Description]

Output: A service is not limited to a single endpoint. As The download demonstrates, the service can have any number of embonpoints with any combination of addresses, bindings, and contracts. Similarity, the client can decide to consume a particular endpoint or all of them. The demo shows the required configuration on both the service and the client side.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] NetNamedPipeContextBinding [Category] Essentials [Last Updated] 1/24/2009 [Description]

Output: While .NET 3.5 provides the NetTcpContextBinding, NetBasicHttpContextBinding and WSHttpContextBinding, it does not provide a matching support for IPC. IDesign rectifies this oversight by providing NetNamedPipeContextBinding. The demo shows both the steps required to implement such a custom binding, the supporting configuration-enabling types and also how to register it so that you could use it like the built-in binding in a config file.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Programmatic Configuration [Category] Essentials [Last Updated] 2/24/2007 [Description]

Output: Both the service and the client can use either a configuration file to list the endpoints and the related binding or behavior configuration or they can use programmatic calls to achieve the same effect. The solution contains a simple client and service that configure themselves programmatically. It is the same demo of the multiple endpoints only programmatically.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Service Host Factory [Category] Essentials [Last Updated] 7/15/2007 [Description]

Output: Using IIS or the WAS does not mean you cannot use a custom host. All you need is to provide a custom service host factory that derives from ServiceHostFactory, instantiate your custom host, provide the custom host initialization and return the host reference, as shown in this solution.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Service Snippet [Category] Essentials [Last Updated] 9/7/2006 [Description]

Output: The zip file contains a Visual Studio 2005 custom snippet that automates generating a simple WCF contract and the matching implementing service. The service uses the best practices for transaction context, transaction voting, and instance management.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] ServiceModelEx [Category] Essentials [Last Updated] 1/24/2009 [Description]

Output: A class library containing all the IDesign helper classes, utilities and tools. The library also contains a comprehensive catalog of ServiceModelEx, containing short documentation of each type, its category and reference to related classes or types.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Trace Interceptor [Category] Essentials [Last Updated] 1/24/2009 [Description]

Output: This demo shows how to use the IDesign Generic Interceptor framework to implement a simple trace of pre and post calls including parameters. The Generic Interceptor framework is nothing short of extensions for the WCF extensions.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] WAS Hosting [Category] Essentials [Last Updated] 10/21/2007 [Description]

Output: With IIS7 on Windows Vista and Windows Server 2008, you can use the Windows Activation Service (WAS) to host your WCF services. While very similar to IIS6 and IIS5 hosting (virtual directories, svc files, etc), with the WAS you are not limited to HTTP and can use TCP, named pipes (IPC) and MSMQ. There is a one-time setup step (done in the included cmd file) to allow these interactions, where you assign a port number for your web site and allow the protocols for your application (the WCF service). The rest is regular WCF as shown in the demo.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] CallbackErrorHandler Attribute [Category] Faults [Last Updated] 2/24/2007 [Description]

Output: The solution demonstrates IDesign fault handling framework, this time on the client side. The CallbackErrorHandlerAttribute is applied on the callback client-side class. It installs an error handler on all callback dispatchers. The error handler promotes all exceptions to matching fault exceptions if found in the fault contract of the callback contract, and it logs the exception to a dedicated logbook service. The log entry contains a detailed stack and context dump. The solution also contains the logbook viewer application.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Debugging and Unknown Faults [Category] Faults [Last Updated] 2/24/2007 [Description]

Output: WCF lets the service be configured to return all unknown exceptions as faults, even if there are not listed in the fault contracts. This aspect of the service behavior is especially useful during debugging. The download shows how to turn on this feature only for debug builds using the IncludeExceptionDetailInFaults property of the service behavior.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Debug-Time Exception Extraction [Category] Faults [Last Updated] 2/25/2007 [Description]

Output: While the combination of IncludeExceptionDetailInFaults and the propagation of ExceptionDetail to the client lets the client (for debugging purposes) examine the original exception thrown by the service, programming against FaultException is cumbersome, and, it does not fault the channel, unlike the real exception. The client can compensate by extracting the original exception, and even recursively build the inner exception tree. To streamline, the client can use the IDesign DebugHelper class to automate these steps, and even encapsulate its use in the proxy, including faulting the channel, as shown in the solution.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] ErrorHandlerBehavior Attribute [Category] Faults [Last Updated] 2/24/2007 [Description]

Output: The solution demonstrates IDesign fault handling framework. The class ErrorHandlerHelper automates implementing IErrorHandler: it promotes all exceptions to matching fault exceptions if found in fault contract, and it logs the exception to a dedicated logbook service. The log entry contains a detailed stack and context dump. The solution also contains the logbook viewer application. The attribute ErrorHandlerBehaviorAttribute wraps the use of ErrorHandlerHelper and automatically installs the error handler by attaching it to all dispatchers.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Fault Contract [Category] Faults [Last Updated] 9/7/2006 [Description]

Output: By default all service side exceptions are indistinguishable from communication exceptions. WCF lets developer use the FaultContract attribute to explicitly return a known fault from the service. Such faults would also not fault the channel and allow subsequent calls, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] IErrorHandler [Category] Faults [Last Updated] 9/7/2006 [Description]

Output: If you want to change the default error handling and propagation on the service, you can add a custom service behavior that also supports the IErrorHandler interface, and add that behavior to every dispatcher. The solution shows a service that implements the custom behavior and IErrorHandler directly, and the affect it has on the client side reported exceptions.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Deactivation [Category] Instance Management [Last Updated] 9/7/2006 [Description]

Output: Normally, WCF deactivates a session-full service when the sessions ends. However, instead of waiting for the client to close the proxy or a timeout, you can use the context deactivation feature of the OperationBehavior attribute to deactivate the service, before, after or before and after the call, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Demarcating Operations [Category] Instance Management [Last Updated] 9/7/2006 [Description]

Output: Normally, WCF deactivates a session-full service when the session ends. However, if the session has a particular lock-step state machine, you can configure operations on the contract to terminate the session, or to not be the first operation in the session, as shown in The download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Durable service using custom persistence provider [Category] Instance Management [Last Updated] 10/30/2008 [Description]

Output: For durable services that use the DurableService attribute to have WCF serialize and desterilize their state between calls, you need to configure the host with the details of a persistence provider in the config file. You need to derive from PersistenceProviderFactory and override a simple set of methods. The demo contains IDesign's FilePersistenceProviderFactory and FilePersistenceProvider, which as their name imply, persist the state of the service into a file. you will also see how to provide custom parameters in the config file (such as a file name) in the constructor of the persistence provider factory. The client still needs to manage the instance ID on its side, and that is done using the dedicated IDesign helper classed for context

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Durable service using SQL persistence provider [Category] Instance Management [Last Updated] 10/30/2008 [Description]

Output: For durable services that use the DurableService attribute to have WCF serialize and desterilize their state between calls, you need to configure the host with the details of a persistence provider in the config file. You can use the WCF-provided SQL persistence factory of SqlPersistenceProviderFactory. The client still needs to manage the instance ID on its side, and that is done using the dedicated IDesign helper classed for context binding and instance ID. You will also see when to set the CompletesInstance property of the DurableOperation attribute to remove the instance state from the store, and how the client picks up a new instance ID on subsequent calls.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Instancing Modes [Category] Instance Management [Last Updated] 9/7/2006 [Description]

Output: WCF supports three classics instance management modes: per-call assigned a new instance per request, per-session assigns a private instance for the client for the duration of the session, and a singleton instance serves all clients regardless of sessions and connections. You control these modes using the InstanceContextMode property of the ServiceBehavior attribute and the contract itself. The download contains three solutions letting you examine the differences between the three modes.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Programmatic Throttling [Category] Instance Management [Last Updated] 9/7/2006 [Description]

Output: Throttling is a host behavior. Before opening the host, you can programmatically throttle various communication thresholds of your service such as the number of concurrent calls or instances, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Throttling in Config [Category] Instance Management [Last Updated] 9/7/2006 [Description]

Output: Using a config file, you can throttle various communication thresholds of your service such as the number of concurrent calls or instances, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Chunking File Transfer [Category] Operations [Last Updated] 7/6/2012 [Description]

Output: When passing large payloads in WCF, you can run into max message size constraints, timeouts, and large bandwidth consuming retries. One way to address that is to chunk up larger payloads into a series of chunks that get sent as individual messages so that if one fails you only need to retry for that single item. If combined with reliable messaging, you can get ordering assurance and automatic retries. This sample shows how to put a thin layer on the client and service side that does the chunking and reassembling of the payload for a file stream, keeping it from ever being loaded into memory as a single large buffer. The same technique could be applied to a large object graph by serializing the large object graph in the shim layer and sending it in chunks then deserializing in the receiving layer.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Connect-Disconnect [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: When dealing with a duplex contract, every operation carries with it the callback reference. In most applications the client also would like to explicitly start or stop receiving callbacks. You can do that by adding a Connect/Disconnect methods to the contract, as shown in The download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Dual HTTP Callback Address in config [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: When using the WSHttpDualBidning for callbacks, WCF will use by default port 80 for the callbacks. This will likely conflict during development time with local installation of IIS, and is of little use in Intranet deployment. However, as The download shows, you can configure the client callback base address in the client-side config file to have a different port.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Dual HTTP Callback Address using an attribute [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: When using the WSHttpDualBidning for callbacks, WCF will use by default port 80 for the callbacks. This will likely conflict during development time with local installation of IIS, and is of little use in Intranet deployment. Instead of using a config file to hard-code the callback port or making programmatic calls at run time, you can use the IDesign's ClientBaseAddressBehaviorAttribute to configure the port, either hard-code it or select an available port at run time. The attribute implements the IContractBehavior interface, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Events [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: The classic use for callbacks in WCF is for events. The service can maintain a list of callbacks, and notify them when some event takes place on the service side. The service contract can define subscribe and unsubscribe operations, and take a masked enum to allow the clients to chose which event to subscribe or unsubscribe to. In fact, you can even use delegates on the service side to manage the subscribers. This use in an interesting bridging concept: the service uses conventional delegates to manage and publish events, when the events are delivered using WCF duplex callbacks.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] One-Way Calls [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: All WCF bindings support one-way calls – the ability to fire and forget a method. Simply set the IsOneWay property of the OperationContract attribute to true. However, as The download demonstrates, one-way calls do not equate asynchronous calls, or even concurrent calls - because the calls are queued up on the service side, the client may still block, as a product of concurrency mode, the instance mode, the binding and the reliable session.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Programmatic Dual HTTP Callback Address [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: When using the WSHttpDualBidning for callbacks, WCF will use by default port 80 for the callbacks. This will likely conflict during development time with local installation of IIS, and is of little use in Intranet deployment. Instead of using a config file to hard-code the callback port, you can use the IDesign's WsDualProxyHelper class to select any available port at run time, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Publish-Subscribe Example [Category] Operations [Last Updated] 9/10/2006 [Description]

Output: The download contains another example for using the IDesign framework for implementing a publish/subscribe service. The example is a traffic lights management application.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Publish-Subscribe Framework [Category] Operations [Last Updated] 9/10/2006 [Description]

Output: A small framework for implementing a discovery-driven publish-subscribe pattern for events firming and subscriptions. Unlike common techniques for supporting the publish-subscribe design pattern, a discovery-based solution is the only publish-subscribe case which requires no explicit steps by the subscribers or administrator. When utilizing discovery, there is no need to explicitly subscribe either in code or in config. In turn, this significantly simplifies the deployment of the system and it enables great volatility in the presence of both publishers and subscribers. You can easily add or remove subscribers and publishers without any additional administration steps or programming. The subscribers can provide a discovery endpoint so that t

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Streaming [Category] Operations [Last Updated] 6/19/2007 [Description]

Output: By default the message has to be received in it’s entirely by the service or the client before being processed. Instead of buffering the message, you can return a stream, and have WCF on the receiving end start processing the message while it is being streamed. The classic example for streaming is large media files. The download is a simple music download service and a player client using streaming. In addition, you may have to configure the maximum allowed message size, as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Transactional Chunking [Category] Operations [Last Updated] 7/6/2012 [Description]

Output: This sample shows how to chunk up a payload that has been loaded into memory and leverage distributed transactions to ensure that the bits get to the client and get persisted successfully. One of the samples keeps the bits in memory on the server until the whole payload is received and reconstructed and then stores it in the DB. The other one persists the chunks in the DB as they arrive so they do not all have to be held in memory for the entire transfer.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Type-Safe Duplex Callbacks [Category] Operations [Last Updated] 9/7/2006 [Description]

Output: The WCF provide duplex proxy DuplexClientBase is object-based and is thus not type safe. In addition, the context class InstanceContext is also object based. The compiler does not verify the relationship between these objects, and there is no verification of the relationship between the callback contract type and the service contract. However, you can fix most of these using generics. The solution contains IDesign InstanceContext and DuplexClientBase which provide the added degree of type safety, as well as a matching duplex factory called DuplexChannelFactory.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Online/Offline Service [Category] Queuing [Last Updated] 9/7/2006 [Description]

Output: An occasionally connected service can issue direct synchronous calls when connected and queued called over MSQM when disconnected. The download contains a service that exposes both a queued and regular endpoint. The client uses the network events to monitor the network status, and uses the queued endpoint automatically when disconnected (such as when the network is disabled).

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Poison Message [Category] Queuing [Last Updated] 1/31/2007 [Description]

Output: When a message continuously fails, it is deemed as a poison message. WCF lets you configure in the binding how many attempts to try before considering the message as poisonous. This demo shows a service that always throws an exception thus always failing. The service uses an error handling extension to log the errors using the logbook, error extension and viewer provided by IDesign. The repeated attempts are logged, and then the last exception (MsmqPoisonMessageException) indicating a poison message.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Queued Calls [Category] Queuing [Last Updated] 9/7/2006 [Description]

Output: Using the NetMsmqBinding WCF lets the client post messages to an MSMQ queue instead of a service. When the service host is connected, WCF will dispatch to it the queued calls. The download contains a simple queued service and client.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Queued HTTP Bridge [Category] Queuing [Last Updated] 1/31/2007 [Description]

Output: The MSMQ binding only works in the Intranet. However, The client may want to queue up calls to services over WS bindings, and WS-binding enabled service may want to queue up calls before executing them. The solution is to use an intermediary bridging queued client and queued service. The client uses queued calls locally and the client-side queued bridge service uses WS binding to call service-side bridge across the Internet. The service-side bridge uses queued calls against a local service. The solution demonstrates the required configurations and contract adjustments required.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Queued Per Call Service [Category] Queuing [Last Updated] 9/7/2006 [Description]

Output: Which a queued per call service, every client calls gets a separate MSMQ message. If the client is also transactional, all those messages get posted to the queued as one batch, as shown in the download. The messages will be played independently, each to a new service instance.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Queued Per Session Service [Category] Queuing [Last Updated] 9/7/2006 [Description]

Output: Which a queued and session full service, all the client calls get packaged in a single MSMQ message. If the client is also transactional, that message is posted only on successful completing the client transaction. As shown in The download, when the single message is dequeued all the calls are played to the same instance in the order the client issued them, then the service instance is disposed.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Queued Publish-Subscribe [Category] Queuing [Last Updated] 7/25/2007 [Description]

Output: This download uses the IDesign framework for implementing a publish-subscribe service in conjunction with queued calls. The publisher can fire the event synchronously or queued. The persistent subscriber can be regular or queued. You can experiment with both a queued publisher and a queued subscriber.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Queued Singleton [Category] Queuing [Last Updated] 7/25/2007 [Description]

Output: This solution demonstrates how a singleton can accept queued calls, and how the singleton shares its state across clients and queued calls. You will see how to configure a transactional queued service.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Response Service [Category] Queuing [Last Updated] 1/31/2007 [Description]

Output: A queued service may need to report results or errors to its caller. However, queued called are one-way calls, and callbacks are not possible. However, the service can report back to a client-side queued service called a response service. There are some details to work out: correlating methods, passing the response service address, and so on. The solution contains IDesign helper framework for supporting response service. The extraneous information (the ResponseContext data contract class) is stored in a custom message header, and other helper class creating a response service proxy on the service side and headers management. You will also see how to wrap the proxy in a response-service aware proxy, how to correlate me

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Response Service - form as response service [Category] Queuing [Last Updated] 1/24/2009 [Description]

Output: The demo shows how you can use a form as a queued response service. It uses IDesign's framework for a queued response service, with FormHost for turning the form into a service, a queued service in this case.

IDesign: Excellence. Professional Growth. Leadership.


Input: [Title] Alternative Windows Credentials [Category] Security [Last Updated] 7/15/2007 [Description]

Output: By default WCF will use the security token on the calling client for authenticating it. However, you can easily supply alternative credentials (usually via some log-on dialog) as shown in the download.

IDesign: Excellence. Professional Growth. Leadership.