WCF / ASMX :: Referring Multiple DataContract DLLs In One Component?
Oct 14, 2010
I am creating few WCF services. The number may be high. And we have used a pattern in each service to handle different targets. Now the issue is like each service is having 3 classes. And these three classes are similar in all sevrices with minor changes. These classes use corresponding data contracts in thier classes and the remaing logic is same. Now i am trying to reduce no of classes in each service. So I've added a class librray to solution and these classes are available in that library. And I am referring these library in each service. Since all services use this library, I am referring all data contracts in this newly created library.
My question is what is the impact of referring a dll(s) in class library. Is it ok to refer all dlls in one library and refer that library in each service? Earlier implementation is referring corresponding data contract dll in each service. Now all the data contracts are removed from services and moved to one library. Am I doing correct in terms of performance and maintainability?
I am constructing a wcf service, shares a data contract to client. Now, I am facing two issues.
1. The serialized Generic List data member, is having duplicate elements, specially a parent element with xml element name as data member name and child elements(since collection) with same name.
eg. if my data member in data contract is List<abc> then, the output is <abc><abc></abc><abc></abc></abc>. But expected is juts <abc></abc><abc></abc><abc></abc>... I tried adding xml element name attribute to data member. but didn't succeed.
2. ExtensionData xml element is present in the serialized response data contract even though my datacontract in not implementing the IExtensibleDataObject.
I have a simple WCF service that returns the time from the server. I've confirmed that data is being sent by checking with Fiddler. Here's the result object xml that my service sends according to fiddler.
[Code]....
Literally the only difference is the namespaces within the application. But still the values being returned are null, empty or a .NET default.
On the client I want to instantiate an instance of an entity (that has a datacontract on the server side), send it to the server, let the server modify it in some way, and send it back. I'm talking about using standard-issue, ordinary WCF objects with DataContract/DataMember attributes.
The only way I could figure out to accomplish the above is to pass the object by reference. Is there another way?
In researching this, I found the links below, one of which says it is not possible to pass by ref (yes I realize we are passing a copy, but it is the result I'm interested in. Perhaps that is what the author is alluding to??).
Sorry for having to ask this but I'm confused (again).
I have several ASP.NET 1.1 web services that make use of several common DLLs. Rather than having each web service contain its own copy of these DLLs, I would like to have these DLLs centrally located so that I don't have to remember to update each web service with new copies of the DLLs if they happen to change. For example, if web services WSA and WSB each use XYZ.DLL does XYZ.DLL need to be in both WSA and WSB or can WSA and WSB be told that XYZ.DLL is is some other folder like C:Common? Is this at all possible or do I have to have a copy of the DLLs in each web service folder?
The way we have to update our site now is to create a copy of the website project locally. Make changes. Then take the dll and any other new files and copy them to the project on the server. Sometimes they want us to work on something they need uploaded right away and other times work on something that needs to be uploaded in the future. So I have to do silly things to give them what they want now and exclude what I am working on for later. What is the best way to resolve this? I just wanna have to upload a piece of the project and certainly not the a whole new dll everytime.
The WCF service based component I'm looking to build will serve as a centralised resource to allow all of my websites to send/receive communications through a kind of "WCF Communications Component" hosted separately.This will hopefully improve the logging and maintenance of all comms for my suite of websites.I understand the basics of WCF and I've spent some time researching guides for architecting/building such a centralised resource but to no avail.
I am trying to stop the data flow when certain conditions happen in the script component. Like if a row in the data set has an invalid date, I dont want that dataset to be inserted in the tables or go through OLEDB Destination, rather I want the entire data flow for that dataset to stop and go back to the control flow page.
I have tried mulitple solutions but nothing worked. Conditional Split ends up inserting the correct rows, but I just dont want anyting to be inserted when one row is bad, where as I do want the entire dataset to be inserted if all rows are good.
How can I fail the component when certain conditions happen int eh script component.
I have created a webservice to populate bookmark fields in a word document with values passed out from an adobe flex app. The document is based on a .dot template that is held on a share on the server. The aspnet user has read access to the share If i run the asmx on my local machine, it all works fine. If i run the asmx when deployed to the webserver I get an error "cannot create activex component" returned. I have set impersonate = true in the web.config on the webservice that is deployed on the server. The code for the webservice itself is very simple:
[Code]....
I have also checked that the microsoft.office.interop.word is in the gac on the server (i am using office 2003). I really don't understand what the issue is, obviously for the application to go live the webservice will have to be deployed to the server and I am happily calling other webservices that exist on the server from my flex application with no issues.
Protected Sub Menu1_MenuItemClick(sender As Object, e As MenuEventArgs) Handles Menu1.MenuItemClick If e.Item.Text = "TheItem" Then <here the http://www link > End If End Sub
I have created a WCF Rest API Service using wcf rest starter kit preview 2 which automatically return JSON or XML data depending on the requested content type. everything is working fine but as my service methods return multiple data type some methods returns a object of a class or collection of class, bool, int or collection type. so I planed to return a same Response in all methods for this I Create a new class as following:
[DataContract(Namespace = "")] public class ServiceResponse { [DataMember] public bool IsError { get; set; } [DataMember] public string ResponseMessage { get; set; } [DataMember] public Object ResponseData { get; set; } }
and User class as following:
[DataContract(Namespace = "")] public class User { [DataMember] public string UserName { get; set; } [DataMember] public int UserID { get; set; } }
In ServiceResponse Class I have declared an Object Type property ResponseData and my all method has return type of ServiceResponse. My problem is that when I set any string,bool,int type as ResponseData it is serialized but when I set collection type or an object of another class which also has DataContarct attribute this class is not serialized see below code :
public ServiceResponse GetUser(int userID) { User user = getUser(userID); get user data from database ServiceResponse response=new ServiceResponse(); var response = new ServiceResponse { IsError = false, ResponseMessage = string.Empty, ResponseData = user; // Setting Result Data here }; return response; }
when I called above method(GetUser) I got Null response due to serialization problem, but following code works fine
public ServiceResponse TestMethod(string testMessage) { ServiceResponse response=new ServiceResponse(); var response = new ServiceResponse { IsError = false, ResponseMessage = string.Empty, ResponseData = testMessage; // Setting Result Data here }; return response; }
I have a WCF service with cyclic references that I was using the CyclicReferencesAwareAttribute attribute (http://chabster.blogspot.com/2008/02/wcf-cyclic-references-support.html) to solve. However now I want to use the same service with a Silverlight client. Receiving data works well on the Silverlight client with this method, however the CyclicReferencesAwareAttribute attribute does not work on the Silverlight side when I want to send objects back again.
I have changed to use the IsReference property on the data contract which is supposed to get round with this issue. However now the objects that are returned are empty! (All fields are either default or null). This is the same in my ASP.NET client (original) and my Silverlight client.
Has anyone hit is issue before? Here is the attribute [System.Runtime.Serialization.DataContract(Namespace="http://testnamespace.co.uk/entities", IsReference=true)]
I would like to know how can I list for every page (child page) selected the number and id of localize component in the current page. I need this to update resources files, a button will be on the master page and when they click on it, they will go to a page which show up every data in the resource file.
The Request.UrlReferrer doesn't always have a value and it's possible to populate it with some logic but there are third party tools out there that know what website the user visited before coming to my site. How are they getting this data? That's what I want to use to figure out what page my users are coming from -- whether internal page or external.
PageA uses a Response.Redirect to PageB - On PageB I need to make sure that the refering page was from the same website - how do I check that the refering page is from the same domain?
And also - I want to remove any querystring values from the referring domain as well.
i got a problem.. how i can declare template textbox in a datagrid at code behind? i already make a stored procedure and put the update query inside it.. if i declare the textbox inside code behind(.aspx.vb).. there will be an error.. " there is already a component named "txtitem1"component must have a unique name.."
referencing table adapter row content in codebehind? I need to display formview textbox based on database row content. I'll post what I have so far.
Dim SalesAdapter As New salesprojectTableAdapters.Sales_ProjectTableAdapterDim project As salesproject.Sales_ProjectDataTableDim sales_projectRow As salesproject.Sales_ProjectRow project = SalesAdapter.GetDatabyID(CInt(projectIDtxtb.Text)) If
Sales_Project.Row.Disp_Cell = "Y" Then (error occurs: reference to a non-shared member requires an object reference)
FormView1.FindControl( "cell").Visible = True Else FormView1.FindControl( "cell").Visible = False End If