Wednesday, January 19, 2011

Using Current.Response in Custom Class



When using Current.Response in a custom ASP.NET class there are compiler errors e.g.

The name 'HttpContext' does not exist in the current context

The type or namespace name 'HttpContext' does not exist in the namespace 'System.Web' (are you missing an assembly reference?


  1. Add System.Web as a reference to the class.  Right click the class in the Solution Explorer and choose Add Reference. On the .NET tab select System.Web.
  2. Insert the following at the top of the class: using System.Web;

Tuesday, January 18, 2011

AspDotNetStorefront WSI Setup for eBridge

AspDotNetStorefront Version: ML


eBridge requires WSI to be setup in ASPDNSF for download/upload of information.


Setup WSI according to the installation instructions located here:  Instructions also included at the end of this blog.

Note that there is an issue with ASPDNSF that results in the following error when eBridge tries to connect:
System.Web.Services.Protocols.SoapHeaderException: Server unavailable, please try later ---> System.ApplicationException: WSE842: The service pipeline could not be created. ---> System.Configuration.ConfigurationErrorsException: WSE032: There was an error loading the microsoft.web.services3 configuration section. ---> System.Configuration.ConfigurationErrorsException: WSE040: Type AspDotNetStorefront.ASPDNSFUsernameTokenManager could not be loaded. Please check the configuration file.

To fix this issue following the instructions here:
i.e. Find the '#if WSE3' line in the App_Code\ASPDNSFUsernameTokenManager.cs file and add the following line immediately above it: #define WSE3

Setup a customer with admin access that eBridge will use to connect.

Test the WSI by navigating to and manually invoke the DoItUserNamePwd method using the eBridge email/password (created in the last step) for AuthenticationEMail/AuthenticationPassword and the XmlInputRequestString below.  If everthing is setup correctly you will get a page of data containing new orders.

<AspDotNetStorefrontImport Verbose="false">
  <Get Table="Orders" Name="NewOrders">
    <OrderBy>OrderNumber asc</OrderBy>
    <DefaultWhereClause>OrderNumber >= 100</DefaultWhereClause>

Installing WSI

  1. Ensure that the Microsoft Web Services Enhancements version 3.0 runtime is installed on the production web server and any development servers. This is extremely important, as without WSE 3.0 your site will fail. The WSE 3.0 components are available from:
  2. Copy the IPX.asmx and IPX.xml files to the root of your website
  3. Copy the App_Code/ASPDNSFUserNameTokenManager and App_Code/IPX classes to your site's App_Code directory
  4. Open the web.config file and search for "WSI". Uncomment any elements commented as required by the WSI feature.

    To test functionality, browse to If you do not receive any errors, WSI should be working. Once you are comfortable that the feature is operational you should take additional measures to secure this page, such as limiting access to an IP address or range of IP addresses (this can be done via the IIS Management Console or possibly your hosting control panel). Doing so will help to prevent malicious users from scripting attacks against the interface.