.NET SDK
Download the .NET SDK (version 1.7)
Linux/Mono (.tar.gz files):
- Binaries and documentation (application/x-gzip, 1.1 MB)
- Source code and examples (application/x-gzip, 446.0 kB)
Windows (.zip files):
- Binaries and documentation (application/zip, 4.3 MB)
- Source code and examples (application/zip, 1.0 MB)
About the .NET SDK
The Veriplace .NET SDK provides essentially the same functionality as the Veriplace Java SDK (2.8), with some differences appropriate to the .NET and ASP.NET application environments. It consists of two assemblies: the Veriplace client, and a basic OAuth implementation that can be replaced with another OAuth library if desired.
There are two versions of the SDK: one for Windows developers, and one for Linux developers using Mono. Other than packaging, the only functional difference is that the Windows version includes an optional adapter for using the DotNetOpenAuth OAuth library.
Veriplace .NET SDK Release Notes
Veriplace .NET SDK 1.7 Release Notes
What's New
- The client now supports connecting to the Veriplace server through an HTTP proxy or tunnel. See ClientConfiguration: set the ServerTunnelUri property if your gateway behaves as a mirror (i.e. if a request to http://<gateway URL>/api/... is forwarded to https://veriplace.com/api/...), or the WebProxy property if it is a proper HTTP proxy.
Veriplace .NET SDK 1.6 Release Notes
What's New
- Asynchronous APIs (GetLocationAPI.RequestLocation() and InvitationAPI.InviteGetLocation()) now support a new, extended callback mechanism, which delivers all the information about the result and the original request, compared to the previous callback mechanism which only delivered a summary of the result status. This is implemented by new overloads of those methods, whose parameters include an instance of the new class CallbackOptions. Note that to use extended callbacks, you must provide a secure (https:) callback URI.
- The CallbackOptions class also includes an option for asking Veriplace to wrap the callback message's XML or JSON content in a form-encoded parameter. This may be useful if your callbacks are not being handled by the same ASP.NET application, but by some other platform that can only accept form-encoded content.
- The LocationOptions class now has a SuppressCachedPosition property for specifying that Veriplace should not include cached positions in error responses. Note that due to its increasing number of properties, LocationOptions is no longer an immutable class.
- The client now uses /api/1.2 URIs for all Veriplace REST APIs.
Veriplace .NET SDK 1.5 Release Notes
What's New
- Location requests can now include a map service query for nearby points of interest and/or street intersections; see LocationOptions. If available, this information appears as new properties in the Location class.
- The LocationOptions class also encapsulates other request properties such as location mode and timeout, which formerly were implemented with overloaded methods. The new versions of the GetLocationAPI methods take a User as their first parameter and a LocationOptions reference (which may be null) as their last. The old versions still exist, but are marked as obsolete.
- For efficiency, the client can now request JSON-encoded responses from the platform for all APIs. See ClientConfiguration.PreferredEncoding. The default is still XML encoding.
- The client now uses /api/1.1 URIs for all Veriplace REST APIs, which have slightly different parameters and output schema from the previous /api/1.0 URIs. The platform still supports the 1.0 versions, but the client no longer uses them.
- Building from the source code now requires at least .NET 3.5 (Windows) or Mono 2.0 (Linux) to build. The resulting object code is still compatible with .NET runtime 2.0.
Fixes
- The optional timeout parameter did not work consistently, because it was being treated as a number of milliseconds in some cases and a number of seconds in other cases. This has been fixed in both the default OAuth implementation (Veriplace.OAuth.Default) and the DotNetOpenAuth adapter.
- API methods and constants that are only for internal use have been changed from protected to internal scope, and no longer appear in the API documentation.
- The obsolete SetLocationAPI, which was not supported in the platform, has been removed from the client and the examples.
Veriplace .NET SDK 1.4 Release Notes
What's New
- GetLocationAPI now supports a true asynchronous request mechanism. The RequestLocation method returns an identifier which you can use to poll for the result; or you can pass a callback URI for Veriplace to push the result to your application.
- InvitationAPI now supports both of the asynchronous modes described above, rather than just the callback/push one.
- PermissionAPI has a new method, VerifyCarrierLocatability(), which tests whether a mobile number belongs to a supported carrier.
- GetLocationAPI.GetLocationById() now allows you to pass the application-specific access token, rather than a user-specific permission token, as long as the application does have permission to locate the user.
Veriplace .NET SDK 1.3 Release Notes
What's New
- The new PollingAPI provides a way to query Veriplace for batches of location updates from any users who are opted into your application.
- The new PollingManager class uses a background thread to call PollingAPI and push new locations to a handler object.
- The Json.NET library for JSON encoding is now required and included.
Veriplace .NET SDK 1.2 Release Notes
What's New
- The new InvitationAPI supports inviting users to opt into your application via an SMS interface. The source code distribution includes an example of this in the SimpleWebCS/SimpleWebVB projects.
- The "Secure" property has been removed from the client configuration. This was only useful for WaveMarket internal testing; the client always uses SSL for direct communication with veriplace.com.
Veriplace .NET SDK 1.1 Release Notes
What's New
- The new method GetLocationAPI.GetPermittedUsers() provides a list of all users that the application currently has permission to locate.
- The new method UserDiscoveryAPI.GetUsers() provides the same user lookup capability as GetUser(UserDiscoveryParameters), but for a batch of multiple users.
Veriplace .NET SDK 1.0.2 Release Notes
Bug Fixes
- GetLocationAPI.GetLocationAccessToken did not throw the correct exception class if permission was not granted. This caused VeriplaceState.RequireLocation and RequireGetLocationPermission to fail rather than redirecting to the interactive permission request page as they should.
- The version of GetLocationAPI.GetLocation that took three parameters was unusable, because it called itself (causing a stack overflow error) rather than calling another version of the method.
- The default OAuth client implementation generated nonces based on the system time. These might not be unique if you had two instances of the same application on different servers that executed queries at the same time. This has been changed to generate a globally unique value that is used as a salt for hashing nonces.
- The build scripts in the source distribution did not work (they used incorrect file paths from a prerelease version of the SDK).
Enhancements
- The ASP.NET web application example now exists in both C# and Visual Basic versions, and includes configurable logging.
Veriplace .NET SDK 1.0 Release Notes
About the .NET SDK
The Veriplace .NET Client provides essentially the same functionality as the Veriplace Client for Java (2.1), with some differences appropriate to the .NET and ASP.NET application environments.
The underlying OAuth implementation is separate from the client API, and can be replaced. The SDK includes Veriplace's own lightweight OAuth consumer, and also an adapter for the DotNetOpenAuth library.
Distributions
There are two sets of SDK distributions: one for Windows developers (.zip files), and one for Linux developers using Mono (.tar.gz files). Each has a package containing binaries and documentation, and a separate package with source code and examples. There is no difference in functionality, except for the optional DotNetOpenAuth adapter in Windows which is not compatible with Mono.
Dependencies
The Windows version was built using Microsoft Visual Studio 2008, and requires .NET Framework 2.0 or higher. The Mono version was built using Mono 1.9.1, and requires at least that version of the Mono runtime. The SDK supports ASP.NET 2.0 for web applications.
Configurable logging is provided by Apache log4net (included).