.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Architecture help for server/multi-client two-way messaging and MVVM scenario

Posted By:      Posted Date: October 12, 2010    Points: 0   Category :WCF

There looks like heaps of information on WCF which is kind of my problem. I'm unsure of what I should be reading and can't afford to spend days reading to whittle down my options to what I really need. So I'm hoping for a brief nudge in the right direction please!

I'm building an app that is TCP server/client scenario:

  • Messages need to be sent from either client or server based on events raised at either end
  • Messages could be from client-server or client-client
  • I need some peer-to-peer content distribution (file sharing/copying)
  • Some messages need to go through reply/response - being initiated at either end
  • Some messages/requests need to last past network interrupts/reboots. I.e. request from client that requires manual user action on the server end, resulting in reply back to client at a later date

Some comments on what WCF architecture/technology choices would best fit these needs would be very welcome :)

Also, I'm using MVVM architecture. Should the viewmodel/business logic know about WCF classes or should the model take care of contracts, etc? Or in other words, where should the viewmodel and model separate in WCF? Some examples of appropriate method names at the business logic level and model level would help :)

Anyway, thanks for reading, now back to the books :)

View Complete Post

More Related Resource Links

Questions on Multi-Tenant Data Architecture for SQL Server Database and ASP.NET application

My company wants me to make the same asp.net application and sql server database be sharable amongst different clients. Clients will use the database for their own business use, will have their own data, we will have our own data. How can I share the same SQL Server database amongst different clients having same ASP.NET application (but somehow be able to differentiate which client user is logging in) ? Do I need to use ApplicationID and how will I detect at login which one to use ? I know I will need to add another field in all tables to differentiate client's data from ours.  

ClickOnce: Deploy and Update Your Smart Client Projects Using a Central Server


ClickOnce is a new deployment technology that allows users to download and execute Windows-based client applications over the Web, a network share, or from a local disk. Users get the rich interactive and stateful experience of Windows Forms, but still have the ease of deployment and updates available to Web applications. ClickOnce applications can be run offline and support a variety of automatic and manual update scenarios.Learn all about it here.

Brian Noyes

MSDN Magazine May 2004

SOAP: Using ATL Server to Build an Asynchronous SOAP Client in Unmanaged C++


SOAP opens up a new world of Web Services, letting you make function calls across a network or the Internet. But this flexibility creates new problems when your app needs to wait for calls to return from halfway around the world. What you need is an asynchronous SOAP client that takes advantage of threading to continue execution while waiting for calls over the wire. This article covers the basics of building such a client with ATL.

Pranish Kumar and Bogdan Crivat

MSDN Magazine April 2002

BizTalk Server 2000: Architecture and Tools for Trading Partner Integration


This article provides an overview of the concepts involved with implementing a trading partner integration system on BizTalk Server 2000 and details the document interchange server architecture and toolset. Additionally, an early look was taken at some business process integration features planned for the production release of the product that allow easy design, execution and sharing of new business processes with trading partners. The concepts and architecture presented allow companies to prepare internal line-of-business applications and trading partners for systems that improve customer service and reduce operating costs.

Aaron Skonnard and Bob Laskey

MSDN Magazine May 2000

passing object values from server to client problem


I get a message that x_login is not declared.  I added Dim login as String = "123", but that didn't help.  What's the problem?

code behind....

Dim Login = "123"
x_login.Value = loginID


<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<form id="simForm" runat="server" method='post' action='https://test.authorize.net/gateway/transact.dll'>
        <input id="HiddenValue" type="hidden" value="Initial Value" runat="server" />
        <input type='hidden' runat="server" name='x_login' id='x_login' />
        <input type='submit' runat="server" id='buttonLabel' />



Using SQL Server 2008 R2 client with Enterprise Library



I am modifying an existing application that uses SQL Server 2008 as the database and Enterprise Library 4.1 for Data Access .

What I need to do is to make it use the SQL Server 2008 R2 client to take advantage of out of the box failover capabilities.

Any idea how I can accomplish this?


Educational question: How server objects are accessed from multiple client threads?

I will appreciate it if someone can help me to undestand how the following scenario works:   There is remoting server that is registered as WellKnownObjectMode.Singleton. Server implementation: It instantiates a class TestServer that implements interface IFoo interface IFoo { IHelper GetHelper() }   interface IHelper { void StoreString(); }   Implementation of TestServer: internal sealed class TestServer: System.MarshalByRefObject, IFoo { private IHelper> helper = new Helper(); public IHelper GetHelper(string helper){return helper;} }   Implementation of Helper: internal sealed class Helper : System.MarshalByRefObject, IHelper { public void StoreString (string val) {}; }   Implementation of a client (simplified; shown to illustrate the question only): static class Program { public static IFoo TestService; public static IHelper Helper; public TestThreads testmultiplecalls; [STAThread] static void Main() { TestService = (IFoo)Activator.GetObject(typeof(IFoo),"ipc://Channel"); Helper = TestService.GetHelper(); testmultiplecalls.Start(); } }   internal class TestThreads { public Start() { for (int i = 0; i < 20; i++) ThreadPool.QueueUserWorkItem((new TestCall(i.ToString())).DoWork); } }     internal class TestCall { private string m_str; public TestCall (string str) {m_str = str;} public void DoWork() { Program.Helper.StoreString(m_str); } }     Que

SQL-DMO Install on SQL Server 2005 Express Client

I am installing a Client side SQL 2005 Express that needs SQL-DMO. The Client computer does not have SQL Server 2005 Express installed. I have installed all the MDAC and .Net 2.0. The command line I'm using to try and install the SQL-DMO and XML modules is: SQLEXPR_ADV ADDLOCAL=Tools_Legacy,SQLXML I get a message something like 'SQL Server 2005 Version does not support this install option.' How do I get SQL-DMO installed on a SQL Server 2005 Express Client computer?

Connection problem while connecting from client to server.

Hello, i am trying to connect sql server 2005 express using c#.net 3.5. my connection string is "Server=.\SQLExpress;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\db_naren.mdf;Database=db_naren; Trusted_Connection=Yes;" this is working fine when i am connecting to sql server from the local machine. When i am trying to connect from someother machine to server it is giving error like A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) i added previliges in add new administrator on SQL Server 2005 Surface Area Configuration . and i made changes on SQL Server 2005 Surface Area Configuration  page, on Database Engine --> Remote Connections -->Local and remote connections --> Using both TCP/IP and named pipelines. still same error i am getting from client machine i am using connection string as "Server=MyServer\SQLExpress;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\db_naren.mdf;Database=db_nare; Trusted_Connection=Yes;" is there any thing i need to do to connect from client machine to server?please

Unable to connect to SQL Server 2005 remotly, all client protocols are blank

I have an installation of SQL 2005 and had issues connecting remotly. Looking at the client protocolols, they are all blank. I can see that TCPIP, Named Pipes, VIA, etc. are 'enabled', but where the words 'TCPIP', 'Names Pipes', etc. should be, it's just blank. I tried to install SQL 2008R hoping the Client Protocols would be corrected during the installaion, but they were not. I'm assuming the issue with the Client Protocols not showing up is a symptom of the problem. Does anyone have any ideas? Thanks!

onclick() between client side and server side

Hello, I want to enhance a composite control's client side, my approach is to recreate all method on JavaScript, so here I have some troubles : 1) Can I call onclick event on client side otherwise on server side ? 2)  the statement table.onclick=SelectRow(event) fires a bug ! Hello,I want to enhance a composite control's client side, my approach is to recreate all method on JavaScript, so here I have some troubles :1) Can I call onclick event on client side otherwise on server side ?2)  the statement table.onclick=SelectRow(event) fires a bug !

WCF - First call to Callback instance from Server takes considerable time to make it to the client.

Hello. There's a performance problem we are facing that we are unable to fix using DuplexChannels. The first call made by the client to the server reaches the server instantly. The first call made by the server to the first client using a Callback proxy will take several seconds to reach the client. All subsequent calls to the client (as well as other clients) will reach and execute instantly. The client connects to the Server using a proxy to IServiceProvision, supplies an instance to an implementation of IClientCallback and calls IServiceProvision.Start(). The server instantly processes the call and makes an asynchronous call to IClientCallback.DoWork(), which takes several seconds to enter the client's DoWork() implementation. The remainder of the execution then runs smoothly. Also, the server will experience such a slowdown only for the very first call of the first client that connects to it. Is it normal for the Callback interface to take so much time to warmup, only on the first call to the first client? Below is the full source code. Thanks for any information you may provide. Cheers Mike Shared Class Library using System.ServiceModel; namespace Test { [ServiceContract(Namespace = "http://test/IService", CallbackContract = typeof(IClientCallback))] public interface IServiceProvision { [OperationContract] void Start(); [OperationContract] void

WCF acting both as client and server

Hi, I have a WCF service that will run on two diffrent machine and will talk to each other. In other words the same service will be client and server to another instance of the same service running on a seperate machine. I have written another app that is the client app calling wcf service. For that client app, I used svcutil to create a proxy class. My question is do I have to do that for the service also when the service acts like a client to another instance of the same service. Also if I create a proxy, would there be conflict becuase the proxy and the service implementing class because both will have the same definition. Any help will be highly appreciated. Thanks  

Duplex contract between web client and server?

Hi, Can duplex contract be implemented between web client and server using http as a transport?   Thanks jagaurg

The SMTP server requires a secure connection or the client was not authenticated.........

i am using asp.net & have a emailing modulewhen i use gmail host i amable 2 send the mail but when i am using yahoo host i get  error msgthe yahoo id & password are right  but still getting the below msg ---------------------------Windows Internet Explorer---------------------------  ' The SMTP server requires a secure connection or the client was not authenticated. Authentication Required. '   ---------------------------OK   ---------------------------

net.tcp://localhost:80/MyService client/server errors while IIS is running - even though all Net.TCP

Hello, I am trying to create a simple WCF client/server solution in two Windows Forms projects, respectively.  I am using net.tcp binding on port 80 and have enabled the port sharing property.  My NET.TCP Port Sharing service is running.  I am using Windows 7 x64 and logged in as an administrator.  I've added my username to the smvchost configuration files, in both Framework and Framework 64 directories. I also have IIS running on port 80. However, there seems to be a conflict between net.tcp on port 80 and IIS on port 80 simultaneously.  My understanding was that the Net.TCP Port Sharing is supposed to be the solution for this very scenario. Here are the specific issues: 1.  I start the server in debug mode, which works fine.  I then try to connect with the client, and get the error: "You have tried to create a channel to a service that does not support .Net Framing.  It is possible that you are encountering an HTTP endpoint".  This seems to imply that the NET.TCP Port Sharing is not forwarding the request to my WCF server, and instead is encountering IIS.  This is the first problem. 2.  The second issue is that the Server starts fine in Visual Studio in debug mode, however when I try to run it as a compiled EXE (and right-click - run as admin) it errors "The TransportMana

Time difference : Hosting Server and client

hi All,I have asp.net/c# web project. How to manage the time difference between the server and clientFor instance, I am at India, and Server is located at UK. So if do any activity, like "comment on friend's photo" etc. the time stamps is UK's time. So if do some activity from India at 10.00 AM, the time stamp would be 5.00 AM. So if the user who sees his activity at 10.00 AM sees it as if it was done at 5.00 AM.If user whom he acted upon (like friend whose photo got the comment) too see 5.00 AM. this is ok if the friend is at UK, but causes confusion if he was at other time location like Australiahow to handle this
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend