पर कॉल करते समय सत्र बनाए रखें मैं केवल प्रमाणित उपयोगकर्ता के लिए वेब सेवा से कनेक्ट करने के लिए क्लाइंट ऐप का उपयोग कर रहा हूं। यहाँ सबसे सरल उदाहरण है:
मेरे वेब सेवा कोड:एएसएमएक्स वेब सेवा
public class TestService : System.Web.Services.WebService
{
[WebMethod(EnableSession = true)]
public string WelcomeMsg()
{
return "Hello: " + Session["UserName"] + "! Welcome to our store.";
}
[WebMethod(EnableSession = true)]
public void SetUserName(string sName)
{
Session["UserName"] = sName;
}
}
यहाँ है क्लाइंट ऐप पर अपने कोड (विंडोज फार्म, नहीं वेब आधार):
private void btnSetName_Click(object sender, EventArgs e)
{
TestService.TestService ws = new TestService.TestService(); //Create a web service
MainForm.m_ccSessionInfo = new System.Net.CookieContainer(); //Create a CookieContainer
ws.CookieContainer = MainForm.m_ccSessionInfo; //Set CookieContainer of the web service
ws.SetUserName(txtUserName.Text); //Set value of session
ws = null;
}
private void btnWelcome_Click(object sender, EventArgs e)
{
TestService.TestService ws = new TestService.TestService(); //Create a web service
ws.CookieContainer = MainForm.m_ccSessionInfo; //Set CookieContainer back
string sWelcome = ws.WelcomeMsg(); //Get value from session property
ws = null;
System.Diagnostics.Debug.WriteLine(sWelcome);
}
मेरे उदाहरण में MainForm.m_ccSessionInfo एक है स्थैतिक सदस्य, मैं इस में सत्र कुकीज़ मूल्य रखना चाहता हूं!
हालांकि, यह काम नहीं करते :(। Ws.WelcomeMsg() हमेशा एक खाली स्ट्रिंग लौटाने है।
YESSSSSS !!!! मुझे एएसएमएक्स वेब सेवा के लिए कुछ विरासत कोड बनाए रखना है, और इससे मेरी समस्या ठीक हो गई है! धन्यवाद! –