How To Abort An ASMX Request Based On Logic In The Constructor

Jul 12, 2010

I have a common base class from which all my ASMX webservice classes will inherit. In the constructor, I want to do some common authentication checks; if they fail, I would like to halt processing right away (subclass's code would not get executed) and return a 401-status-code response to the caller.

However, the common ASPX-like ways of doing this don't seem to work:

Context.Response.End(); always kicks back a ThreadAborted exception to the caller, within a 500-status-code response. Even if I explicitly set Context.Response.StatusCode = 401 before calling End(), it is ignored. The result is still a 500-response, and the message is always "thread-aborted-exception". MSDN suggests I use HttpContext.Current.ApplicationInstance.CompleteRequest() instead. However, this does not stop downstream processing: my subclass's functions are still executed as if the constructor had done nothing. (Kind of defeats the purpose of checking authorization in the constructor.) I can throw a new HttpException. This is a little better in that it does prevent downstream processing, and at least it gives me control over the exception Message returned to the caller. However, it isn't perfect in that the response is still always a 500. I can define a DoProcessing instance var, and set it to true/false within the constructor. Then have every single WebMethod in every single subclass wrap its functionality within an if (DoProcessing) block... but let's face it, that's hideous!

Is there a better / more thorough way to implement this sort of functionality, so it is common to all my ASMX classes?

edit: Accepting John's answer, as it is probably the best approach. However, due to client reluctance to adopt additional 3rd-party code, and some degree of FUD with AOP, we didn't take that approach. We ended up going with option #3 above, as it seemed to strike the best balance between speed-of-implementation and flexibility, and still fulfill the requirements.

View 1 Replies


Similar Messages:

WCF / ASMX :: Request Failed With HTTP Status 400: Bad Request Accessing Web Service

May 15, 2010

I have a webservice which works 100% fine on my developer machine. Where Web Service is installed on LOCALHOST on my developer machine,Then i went to my servers, I installed webservice on one server and map it with the server where the website is hosted, Then i tried accessing this service using BROWSER from my web server, it worked fine, That means the mapping was done perfect.Then i run my program on web server (website). It worked fine on page1, then on page2, but when i did the same and call same function on page3, It popped me any error of

View 4 Replies

WCF / ASMX :: IIS Memory Increasing For Each Client Request In Asmx Web Service?

Nov 8, 2010

A customer reported that our asmx web service is continually increasing in memory (mem usage as well as private bytes). We are able to reproduce the problem in our lab with Windows 2003 Server SP2 (fully patched) on some of the machines. The customer is using Windows 2008.

We created a Hello World web service targeting the 2.0 framework built under VS2005 SP1 and a test client that continues to call it. The memory increases steadily - approximately 40K per client request. If the test app is paused, the memory remains the same. When it is closed, the memory drops. Explicit calling of GC.Collect does not drop the memory.

We have run the memory profiler on the service and the leak is all native memory. We have uninstalled/re-installed the Framework on one of the machines but no difference. To our knowledge all of the security and IIS settings are not modified. We have compared app pool, default web site and virtual directory properties to machines that have no problem and they are identical.

View 11 Replies

WCF / ASMX :: Calling A Web Request - 400 Bad Server Request?

May 28, 2010

I am facing an issue while calling a web request thru my code. I have searched a lot on number of sites but did not get any solution.

Here is the code which I am using:

[Code]....

View 3 Replies

Setting A Default Value -- Presentation Logic Or Business Logic?

Jun 18, 2010

I was wondering if setting a default value for a SelectList is considered to be presentation logic or business logic? For example, if a requirement is that an Employee cannot be saved without a Location, but 99% of the time the location that would be selected is a particular item -- say Atlanta. Because of this, the location SelectList should be defaulted to Atlanta when ever a entry screen for a new employee is displayed. Should I be defaulting the location in the model or in the view-model? One thing I realized is that the unit tests become awkward because in both cases, I'd be forced to test against a location that will always be present in production but I cannot create a unit test with my own test dataunless "Atlanta" was in the set of locations being used in the test.

View 4 Replies

How To Hide Specific Elements On A Razor View Based On Security Without Logic In View

Apr 4, 2011

I have looked all over for elegant solutions to this not so age-old question. How can I lock down form elements within an ASP.Net MVC View, without adding if...then logic all over the place? Ideally the BaseController, either from OnAuthorization, or OnResultExecultion, would check the rendering form elements and hide/not render them based on role and scope. Another approach I have considered is writing some sort of custom attributes, so as to stay consistent with how how we lock down ActionResults with [Authorize]. Is this even possible without passing a list of hidden objects to the view and putting if's all over? Other background info: We will have a database that will tell us at execution time (based on user role/scope) what elements will be hidden. We are using MVC3 with Razor Viewengine. We're utilizing a BaseController where any of the Controller methods can be overridden.

View 1 Replies

WCF / ASMX :: REST IIS 7 Bad Request 400

Sep 23, 2010

tried so many different things but havent got past this seemingly trivial problem. I created a WCF service application from visual studio 2010 WCF templates. it generated the IService.cs and Service1.svc files and generated the web.config

i created a website in IIS 7 on windows 2008, and pointed it to the app folder. when i go to [URL] via web browser, i get a message indicating service is running and suggests using svcutil etc etc., but when i go to [URL] the web browser says 400 bad request. this is without changing anything from what VS generated. the operation contract looks like

[Code]....

Update: forgot to mention i even tried decorating the operation with WebGet attribute with UriTemplate parameter, without luck.

View 4 Replies

WCF / ASMX :: Web Service Getting Request?

Oct 5, 2010

[Code]....Web Service Getting Request

[Code]....

View 1 Replies

C# - Abort Sorting In Datagridview When Row Has Been Edited?

Dec 2, 2010

I have datagridview with 2 columns. SortMode of first is set to Automatic.

In this grid is a lot rows, and when I change value in the row, for example from xyz to abc I still in position where this row WAS. Edited row jumps to top.

I want to abort this automatic sorting and I want call sorting by left click on column. Be

I found some solution (code below + I set SortMode to Programmatically), but my row still jumping :/ Has anyone solution to tackle with this issue?

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
DataGridViewColumn newColumn =

[Code]....

View 1 Replies

WCF / ASMX :: How To Capture SOAP XML Request

Jan 24, 2011

I'm consuming an external web service (yahoo adverts), and what I need is capture the SOAP XML request I'm sending and response I'm getting.

I tried using Fiddler, but wasn't able to capture the request. how to do this?

View 5 Replies

WCF / ASMX :: Too Many Parameters 400 Bad Request Error

Dec 23, 2010

I created a WCF. The web.config is as follows,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<system.serviceModel>
</system.serviceModel>
<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>
The following can be seen in the service.svc file,
class AppServiceHostFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
return new WebServiceHost2(serviceType, true, baseAddresses);
}
}
This is the method in the service.svc.cs,
[WebHelp(Comment="Sample description for GetData")]
[WebGet(UriTemplate="/GetData/param1/{i}/param2/{s}")]
[OperationContract]
public SampleResponseBody GetData(string i, string s)
{
// TODO: Change the sample implementation here
// if (i < 0) throw new WebProtocolException(HttpStatusCode.BadRequest, "param1 cannot be negative", null);
return new SampleResponseBody()
{
Value = String.Format("Sample GetData response: '{0}', '{1}'", i, s)
};
}

The following is the webservice url. It returns data if it's run through the asp.net engine but throws bad request when run from IIS. I added the following entry in the web.config but no use. it still fails.

<httpRuntime maxRequestLength="1500000" executionTimeout="180"/>

[URL]-499,500~~~/param2/621100,621600,622100,611500,611600,611700,561300,611100,611200,611300,611400,622200,622300,623100,621100,621600,622100,611500,611600,611700,561300,611100,611200,611300,611400,622200,622300,623100,621100,621600,622100,611500,611600,611700,561300,611100,611200,611300,611400,622200,622300,623100,,622100,611500,611600,611700,561300,611100,611200,611300,611400,622200,622300,623100,611100,611200,611300,611400,622200,622300,623100,611100,611200,611300,611400,622200,622300,623100,611100,611200,611300,611400,622200,622300,623100,623100,611100,611200,611300,611400,622200,622300,623100,623100,611100,611200,611300,611400,622200,622300,623100,622300,623100,623100,611100,611200,611300,611400,622200,622300,623100,622300,623100,623100,611100,611200,611300,611400,622200,622300,623100,623100,623100,611100,611200,611300,611400,622200,622300,623100,623100,623100,611100,611200,611300,611400,622200,622300,623100,623100,623100,611100,611200,611300,611400,622200,622300,623100

View 2 Replies

WCF / ASMX :: Encrypting A Request In Web Service?

Nov 11, 2010

Am consuming a web service for example Calculator

Calculator CALC = new Calculator();
int a = CALC.Add("23","27");
and result will be stored in a;

Please help me to encrypt this request using the X509 certificate. Am having a certificate with public key and with subject "My Calculator"and also decrypt the result with the private key "abcdef" and with subject "My Response"

View 2 Replies

WCF / ASMX :: Send A Soap Request?

Jun 28, 2010

I have this wsdl file and here is how the requets look like.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<Request xmlns=http://www.sometest.com/ttt>
<UserDetails xmlns="">
<UserName>username</UserName>
<PassWord>password</PassWord>
<AsiakkaanViite/>
</UserDetails>
<DestDetails xmlns="">
<SearchNameAndAddress>
<Name>company name</Name>
</SearchNameAndAddress>
</DestDetails>
</Request>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

how i can code this in c# or send the request?

View 2 Replies

WCF / ASMX :: Second Request To Webservice Is Not Handled?

Aug 10, 2010

I have a Asp.net webservice. This webservice uses a dll ( the purpose of the dll is to listen at a port say 3305 and accept the request from one of its client (say client is some name PG and this client is different from webservice client) and the dll keeps communicating to the PG client to get some data.)

The webservice works like this.

When a request comes from my test program to Webservice, the webmethod calls the dll api ( to establish the connection between the dll and PG client). and after the connection is established between dll and PG client, the webmethod uses the data from my test program and implements some business logic and then returns some values to the test program.

After the first request from my test program is processed, the connection between DLL and PG will still be existing so as to serve the subsequent request from the test program.

The problem is after the first request is finished, the second request is not being processed by webservice, the request doesnot come to the webmethod or even to the class constructor.

is the connection between the DLL and PG , hanging up the webservice?

View 3 Replies

WCF / ASMX :: Viewing The Generated Xml Request?

Jan 6, 2011

I have a service reference added to my application. My understanding is that when i call one of its methods within my code, an xml request is generated and sent to the web service. I need to be able to see the xml that gets generated. Is this possible? Maybe by modifying the auto-generated web service code?

View 1 Replies

WCF / ASMX :: Request Timed Out In Web Service?

Mar 31, 2010

I am calling web service which takes very long time to execute due to which i get request timed out exception....

I hav kept my web method processing in try catch block....

even i have handled httpException....but it gives Request timed out exception..

View 1 Replies

State Management :: Thread Abort Exception In C#?

Feb 25, 2011

what are the possible cases/causes for a thread abort exception? and how can we re-produce the same scenario if such exceptions can only be found on live production environment?

is it possible to access session variables when such exceptions occur or will session variables also get flushed and no longer be available? if we are able to manage/handle such exceptions, then will our application will continue to provide us a log for success/failure case of any particular task/process from where it was stopped?

View 3 Replies

Abort/cancel Action And Response From ActionFilter?

Mar 3, 2011

Best way to abort/cancel action from ActionFilter

I've got this ActionFilter, and it's suppose to end the connection immediately and return a 401 Unauthroized:

public class SignInRequired : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)[code]....

I learned how you can cancel the action from executing by setting 'context.Result = new EmptyResult()` here, but I'm not sure if this is the best way to flush the response and close the connection.

View 1 Replies

WCF / ASMX :: SOAP Request To Return String

Sep 22, 2010

I have a requirement to build a simple ASP.NET web page which sends some parameters to a web service, and then displays the string which was returned. I'm a complete .NET newby and the only examples I can find seem really really complex. I just need something mega simple, but which an handle parameters being sent to the web service. Can anyone point me in the direction of a simple bit of C# which will do this with no frills or fuss?

View 1 Replies

WCF / ASMX :: Sending And Receiving SOAP Request In C#?

Mar 10, 2011

This is my first time trying to send a SOAP request in C#. When I click the Test button I should be passing a XML string to the web services and then getting a response. The lblTransactionNum label updates with "System.Net.ConnectStream" when it should be returning a transaction number within an unparsed response.

I'm not sure if the way I went about this is ideal but it is just from what I learned searching.

Here is my code

[Code]....

what I am missing? I have a desktop application that uses this web service in the same way but it is in VB.

Here is the VBscript from the desktop app if it contains some extra parsing steps that I will have to add to the C# for my web application but right now I am just trying to get the SOAP request and response wired up.

[Code]....

View 3 Replies

WCF / ASMX :: Web Service Fails - 400 Bad Request - Only Certain Connections

Feb 21, 2011

I've got a web service on a server with valid IP and valid DNS entries. I'm using an asynchronous thread in a WPF .NET application to access methods from that web service. Under normal connection conditions, for almost all users, the connection and method works fine. Under a very specific condition - Verizon Aircard being used to connect, no VPN connection to the company through SSTP, on a PC with Forefront Client Security installed - the web service will return a "HTTP Error 400: Bad Request" error to the user. If the same user on the same PC connect their VPN connection, the method works flawlessly.

View 1 Replies

WCF / ASMX :: Consuming A XML Web Service Slow On First Request?

Jun 13, 2010

for the past couple of days i am facing an issue where the first call from my ASP.NET 4 application (VS 2010 Web Site) hosted in IIS 7 to an XML web service is dead-slow. subsequent calls are fast until the AppDomain is restarted.

I have tried all solutions related to pre-generating the serializer assembly but nothing worked. Anyway THEN I was sure it is an IIS-only issue because if i consume the xml web service from a console .net application then all the calls are fast. its even fast from an ASP.NET web site NOT hosted in IIS instead running on the development server. SO clearly the problem is there only when my app is hosted in IIS.

View 1 Replies

WCF / ASMX :: Passing Custom Headers To A WCF Request

Feb 10, 2011

I have the following code:

[Code]....

And on the server I do the following:

[Code]....And it's always null as if the header was never added to the request.

View 3 Replies

WCF / ASMX :: Request Failed With HTTP Status 404?

Nov 15, 2010

I'm new Developer in Web Servicei use VS.2005 C# 2.i have 3 Client PC With Webservice Doing some calculation & Server with ASPX pages the server side will call the client LocalHost webService to do some calculation & return Valuethe problem i get error Massege (The request failed with HTTP status 404: Not Found.)

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
[code]...

View 1 Replies

WCF / ASMX :: Server Was Unable To Process Request?

Jan 27, 2011

I am trying to call a webservice and i am receiving the following error

Server was unable to process request -- > object reference not set to an instance of object .

Steps done for calling the webservice

1) created a wrapper class using wsdl.exe tool

syntax :- wsdl.exe /l:vb <url.asmx?wsdl>

<url.asmx?wsdl> is the url of the webservice to be called.

2) Imports <webservicenamespace>

[Code]....

3) while checking the trace Its occuring while invoking the webservice function

object[] results = this.Invoke(<webservicefunction(parameters)>)

View 4 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved