|
If you are looking at building web apps, then you may also consider Silverlight as an option.
Me, I'm dishonest. And a dishonest man you can always trust to be dishonest. Honestly. It's the honest ones you want to watch out for...
|
|
|
|
|
|
Hey,
Have a go, it's fun!!
I'd start with having a play around with the normal UI controls and seeing what you can do with just data binding.
Then have a look at styling those normal controls.
That should keep you busy for a while ...
Have fun!
|
|
|
|
|
mrkeivan wrote: I wanted to start with WPF, what do you suggest me doing ?
If you wish to remain in the Microsoft world doing desktop apps. then you'll have to learn WPF ultimately. In the ASP.NET world it's less clear but if you know WPF then Silverlight will be a doddle as it's more-or-less a subset.
Kevin
|
|
|
|
|
Hi
What is the generic way to maintain state in multi-players game over internet, which can be played on GUI of WPF or Silverlight? One player might be on WPF gui and others might be on Silverlight GUI.
P2P, HTTP server or some other technique? please advise.
thanks, AJ
Follow your goals, Means will follow you ---Gandhi---
|
|
|
|
|
Have you already considered wcf services ?
|
|
|
|
|
I heard WCF are promising but not sure if they fit for my requirements. Can WCF in such case? If yes, please provide some example links. thanks
Follow your goals, Means will follow you ---Gandhi---
|
|
|
|
|
I have to say, I am new to wcf,wpf & silverlight aswel, but have done some experimenting and test applications.
Both a WPF client and Silverlight client can use the same service, there should be loads of blogs,articles and tutorials about linking either.
The WCF / WPF Chat Application By Sacha Barber article here on codeproject should probably give a good example of how wcf can be used for multiple users, which you'll need in your game.
|
|
|
|
|
I will check Sacha's article. He writes some amazing things. Thanks for pointing.
Follow your goals, Means will follow you ---Gandhi---
|
|
|
|
|
One thing that may throw a wrench into your idea here is that basing a game on this technology may cause issues related to latency. I am not sure if a game environment is going to be great (may depend on the type of game) for a web service style architecture that forces you into an asynchronous model of service calls and async responses. At least not for ALL of the game interaction.
|
|
|
|
|
Latency is not that big of issue in this game. But, I am curious if there are other ways supported by .Net. Any suggestions Ray?
Follow your goals, Means will follow you ---Gandhi---
|
|
|
|
|
Good old fashioned IP connections and message passing works good in cases where you need fast response. Can't beat it unless you anticipate a high number of connections and are not looking at using a server farm. You can use a mixture of TCP and UDP for command and response type connections to keep your port utilization lower, maybe even a mixture if WPF and IP may be a good solution.
I guess it really depends more on the game type.
|
|
|
|
|
i have listbox inside a datagrid. when user click save button i want to get the selected value of the list.
One person's data is another person's program.
--J.Walia
|
|
|
|
|
You might to look at implementing a collection view model as given here[^].
Me, I'm dishonest. And a dishonest man you can always trust to be dishonest. Honestly. It's the honest ones you want to watch out for...
|
|
|
|
|
|
i want to get selected item of listbox.
One person's data is another person's program.
--J.Walia
|
|
|
|
|
The collection view model keeps the underlying data source aware of the current list item selected and you can get the selected row by using methods like the CurrentItem (available inside ICollectionView ).
Me, I'm dishonest. And a dishonest man you can always trust to be dishonest. Honestly. It's the honest ones you want to watch out for...
|
|
|
|
|
|
Hi
I am triing to send some aditional info from wcf client to server using custom MessageHeader.
Below is the class which should be sent inside message header.
public class UserCredentialsHeaderContent
{
public string UserName { get; set; }
public string Password { get; set; }
public UserCredentialsHeaderContent(string userName, string password)
{
UserName = userName;
Password = password;
}
public UserCredentialsHeaderContent()
{
}
}
And the custom MessageHeader:
public class UserCredentialsMessageHeader : MessageHeader
{
private const string HEADER_NAME = "UserToken";
private const string HEADER_NAMESPACE = "NameSpace";
public UserCredentialsHeaderContent UserCredentials { get; private set; }
public override string Name
{
get { return HEADER_NAME; }
}
public override string Namespace
{
get { return HEADER_NAMESPACE; }
}
public UserCredentialsMessageHeader()
{
}
public UserCredentialsMessageHeader(UserCredentialsHeaderContent userCredentials)
{
UserCredentials = userCredentials;
}
protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
{
XmlSerializer serializer = new XmlSerializer(typeof(UserCredentialsHeaderContent));
StringWriter stringWriter = new StringWriter();
serializer.Serialize(stringWriter, UserCredentials);
stringWriter.Close();
string text = stringWriter.ToString();
writer.WriteElementString(HEADER_NAME, HEADER_NAMESPACE, text);
}
public static UserCredentialsHeaderContent ReadHeader(Message request)
{
int headerIndex = request.Headers.FindHeader(HEADER_NAME, HEADER_NAMESPACE);
if (headerIndex != -1)
{
XmlNode[] contentNode = request.Headers.GetHeader<XmlNode[]>(headerIndex);
string text = contentNode[0].InnerText;
XmlSerializer deSerializer = new XmlSerializer(typeof(UserCredentialsHeaderContent));
StringReader stringReader = new StringReader(text);
UserCredentialsHeaderContent content = (UserCredentialsHeaderContent) deSerializer.Deserialize(stringReader);
stringReader.Close();
return content;
}
else
{
return null;
}
}
}
I am adding Header to outgoing message headers in the class that implements IClientMessageInspector:
public class ClientMessageInspector : IClientMessageInspector
{
#region IClientMessageInspectorImplementation
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
UserCredentialsMessageHeader msgHeader = new UserCredentialsMessageHeader(
new UserCredentialsHeaderContent("UserName", "Password"));
request.Headers.Add(msgHeader);
return null;
}
public void AfterReceiveReply(ref Message reply, object correlationState)
{
}
}
So far everything works OK. The problem presents it's self on the server side. I am triing to read the custom header like
public class TestService : ITestService
{
public string SendMessage(string message)
{
UserCredentialsHeaderContent content =
OperationContext.Current.IncomingMessageHeaders.GetHeader<UserCredentialsHeaderContent>("UserToken", "NameSpace");
return "Hello " + message;
}
}
In the upper method I get the UserCredentialsHeaderContent from the call to GetHeader. But all Properties of the UserCredentialsHeaderContent are null. I guess the class does not get deserialized properly, but I don't know how to solve this. Any idea will pe appreciated
|
|
|
|
|
I think you need to post this in the C# .NET this is the WPF / Silverlight venue.
|
|
|
|
|
TheArchitectmc∞ wrote: this is the WPF / Silverlight venue
hmm...ok.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
My apologies, this is the right place big guy....
|
|
|
|
|
The title of this forum is WPF / WCF / WF
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
Darn I guess I got whacked with the idiot stick today!
|
|
|
|
|
I know the feeling
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
Do message headers had to be attached before any content is appended? Is it possible that you've added the message too late in the cycle? Can you attach it earlier?
|
|
|
|
|
I think that the header is addad at the correct time, but I guess there is a problem with deserialization.
Thank you for your reply
Uros
|
|
|
|
|
koleraba wrote: But all Properties of the UserCredentialsHeaderContent are null.
I don't see any place you're calling the deserialization code.
Am I missing something?
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|