Home Contact Sitemap
What is thinktecture? thinktecture is a European software development support company. We help software development and architecture teams with an influx of in-depth technical knowledge and expertise in the areas of application design, scalability, security and maintainability.
 

Location: Home > Resources

While we are structuring our new resource sections at the beginning of 2007, you can find an archive of our content on this page.

Tools and Software

WSCF - Web Services Contract First
Christian Weyer, Buddhike de Silva, 2006
 There has been a lot of buzz around contract-first Web Services design & development lately. Nearly everybody thinks that it is a good thing, and that we finally should reach a state where we all can live and breath it. But most people have been complaining about the lack of tool support for the so called 'first step': contract design. WSCF offers a simple yet powerful WSDL Wizard that abstracts away all the nitty-gritty details of WSDL. As a next step you simply right-click on a WSDL file in Visual Studio .NET and generate code from that Web Service contract. Whether it be a client-side proxy class or a server-side interface skeleton. The WSCF Add-In automatically determines the project's programming language and generates source code.
TokenDecryptionService for CardSpace
Dominick Baier, April 2007
 Web Applications that want to decrypt CardSpace tokens need read access to the SSL private key. But you would increase your attack surface tremendously if you directly grant this access to the worker process account of your application. The TokenDecryptionService allows decrypting tokens without having to have direct access to the private key in the application.
HttpSysCfg
Dominick Baier, November 2006
 HttpSysCfg is a tool that simplifies setting/removing/modifying ACLs on URLs for HttpListener (and thus WCF HTTP-based bindings) which uses http.sys. You can specify specific accounts (local or domain) as well as well-known SIDs like NETWORK SERVICE or AUTHENTICATED USERS. In addition the tool allows to pick certificates from the certificate store to retrieve the thumbprint for SSL configuration.
DynWsLib
Christian Weyer, 2004
 Have you ever thought of invoking your Web Services dynamically without having to generate a client-side proxy class at design/compile time with WSCF, wsdl.exe or Visual Studio? No need to know the exact Web Service description and endpoint at compile/design time. Just get your WSDL, specify the type to instantiate and the operations to call, and voila! Our library is incredibly useful especially in testing scenarios. The download includes a simple test application.
.NET Remoting Projects
Ingo Rammer, 2002
 The Open Source Remoting Projects combine the efforts of several contributors to use the .NET Remoting extensibility hooks to implement some cool new channels.

Architecture Briefings

Pure SQL
Ingo Rammer, November 2004
 Three steps for more scalable database access. (HTML version or 5 PDF pages)
The Flowchart Lie
Ingo Rammer, October 2003
 Or: Why do we still use request/response to handle asynchronous business processes? (PDF, 2 pages)
SOAP is not a Remote Procedure Call
Ingo Rammer, October 2003
 SOAP is often used as a simple, cross-platform Remote Procedure Call (RPC), but it can be so much more ... (PDF, 5 pages)
.NET Remoting Best Practices
Ingo Rammer, October 2003
 Best practices for the use of .NET Remoting in various types of applications (PDF, 5 pages)

.NET Remoting FAQ

Please note: The articles in the .NET Remoting FAQ are usually rather dated and have not been updated after version 1.1 of the .NET Framework. 

.NET Remoting Use-Cases and Best Practices
Ingo Rammer, 2002
 This article discusses the different use-cases for Remoting and tries to establish some best practices based on these different application environments. If you plan on using .NET Remoting in your applications, you should definitely read this article!
PRB: GUI application hangs when using non-[OneWay]-Events
Ingo Rammer, 2003
 When implementing Windows Forms based applications which send data to a server from which this data is in turn broadcast to several clients, the application will hang when using non-[OneWay] events. As you already know, [OneWay] events are not the best thing to do, so this article shows you the reasons for this problem and how you can work around them.
The Mysteries of Distributed Garbage Collection
Ingo Rammer, 2002
 or "How does lifetime management in .NET Remoting really work"
Custom Exceptions and .NET Remoting
Ingo Rammer, 2002
 Just using [Serializable] is not enough to correctly transfer custom exceptions over Remoting boundaries. This article shows you why ...
PRB: BinaryFormatter Version Incompatibility
Ingo Rammer, 2002
 This article shows the real reason for the mysterious "BinaryFormatter Version incompatibility"-Exception which occurs from time to time when hosting components in IIS and accessing them using the binary formatter. You will be surprised ...
.NET Remoting Links
Ingo Rammer, 2003
  A collection of links to external .NET Remoting resources (security, channels, add-ons, tools, and articles).
Changes for Remoting with .NET 1.1
Ingo Rammer, 2002
 Adjusting the typeFilterLevel to enable events, delegates and client-activated objects
SoapSuds or Interfaces - which way to go?
Ingo Rammer, 2002
 .NET Remoting offers a number of different ways to share the remote objects' metadata between client and server. This article discusses the advantages of using .NET interfaces when compared to using SoapSuds.exe to generate a metadata-only assembly.
Remoting vs. ASP.NET performance
Ingo Rammer, 2002
 This article compares the performance of some choices in Remoting channel and formatter configuration with the performance of ASP.NET Web Services.
HOWTO: Use the BinaryFormatter with HTTPChannel
Ingo Rammer, 2002
 This articles shows you how to use the BinaryFormatter with the HTTPChannel. A choice which yields the best combination of features and performance.
HOWTO: Use Interface-based remote objects with config files
Ingo Rammer, 2002
 Interfaces seem to be the best way to share the metadata for remote objects. At the first look it seems that this would render the remoting configuration file unusable. This article demonstrates how you can nevertheless use dynamically configured properties with your interface based remote object.
HOWTO: Use CAOs behind a firewall
Ingo Rammer, 2002
 This article shows you possible problems and workarounds with Client Activated Objects which are located behind a firewall.
HOWTO: Get a MarshalByRefObject's remote URL
Ingo Rammer, 2002
 This article shows how you can get the remote URL of a MarshalByRefObject for which you only have a __TransparentProxy object.
HOWTO: Publish a specific object-instance via Remoting
Ingo Rammer, 2002
 This article shows you how to take an existing object instance in any .NET application and publish it as a wellknown remoting object at a certain URL.
Question: How many channels should be registered?
Ingo Rammer, 2002
 How many channels should be registered in your client application to allow communication with multiple object? In this FAQ, Ingo answers this question and explains the reasons why it's actually enought to just register a single channel
INFO: Why Singletons are destroyed after five minutes
Ingo Rammer, 2002
 In this short article, Ingo shows you why a .NET Remoting singleton might be destroyed and re-created while your application is running and how you can change this behavior.
INFO: Why CAOs don't expose WSDL - and how to get it nevertheless
Ingo Rammer, 2002
 This article discusses the reason why SoapSuds won't generate metadata-only Assemblies for client activated objects when using the -url parameter and shows you two other solutions on how to acquire the metadata nevertheless.

 

 

 

 

© 2002-2008 by thinktecture, Ingo Rammer and Christian Weyer. All rights reserved. Contact | Impressum