簡體   English   中英

Wcf服務訪問所有數據庫訪問

[英]Wcf Service Accessing database Access for all

我有一種情況,我正在使用MVC客戶端,並且有WCF服務的Web參考,在WCF服務中,我正在使用Entity Framework和某些數據庫。

現在,我想針對多個用戶使用此mvc解決方案進行培訓,但由於他們將無法訪問服務器的數據庫,因此不允許這樣做。

他們有什么方法可以使用解決方案並通過服務方法訪問數據庫?

如果我需要在某個地方設置我的憑證,可以公開嗎?

請建議!

謝謝安吉

要將數據插入數據庫,您需要在IService.cs文件中編寫以下代碼,該文件包含兩部分:

OperationContract
DataContract

OperationContract部分用於添加服務操作,而DataContract部分用於向服務操作添加類型。

在這里,我在IEmployeeService.cs文件的OperationContract部分中創建一個函數:

public interface IEmployeeService
{
    [OperationContract]
    string InsertDate(EmployeeInfo empInfo);
}

現在,我將在“數據協定”部分中添加“服務操作”。

public class EmployeeInfo 
{

    int ID=0;
    string Employeename = "";
    string EmpID = "";
    string EmailID = ""; 

    [DataMember]
    public string ID
    {
        get { return ID; }
        set { ID= value; }
    }

    [DataMember]
    public string Employeename 
    {
        get { return Employeename ; }
        set { Employeename = value; }
    }

    [DataMember]
    public string Country
    {
        get { return country; }
        set { country = value; }
    }

    [DataMember]
    public string EmailID 
    {
        get { return EmailID ; }
        set { EmailID = value; }
    }
}

現在使用以下代碼。

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Runtime.Serialization;
 using System.ServiceModel;
 using System.ServiceModel.Web;
 using System.Text;
 using System.Data.SqlClient;
 using System.Data; 

 namespace WCFServiceAcceessDataBase
 {
   public class EmployeeService : IEmployeeService
   {
     public string InsertDate(EmployeeInfo employeeInfo )
     {
        string Message;
        SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Jom;User ID=sa;Password=333");
        con.Open();
        SqlCommand cmd = new SqlCommand("insert into tblEmployee(ID,Employeename ,EmpID,EmailID) values(@ID,@Employeename ,@EmpID,@EmailID)", con);
        cmd.Parameters.AddWithValue("@ID", employeeInfo.ID);
        cmd.Parameters.AddWithValue("@Employeename ", employeeInfo.Employeename);
        cmd.Parameters.AddWithValue("@EmpID", employeeInfo.EmpID);
        cmd.Parameters.AddWithValue("@EmailID", employeeInfo.EmailID);
        int result = cmd.ExecuteNonQuery();
        if (result == 1)
        {
            Message = employeeInfo.Employeename + " Information Saved";
        }
        else
        {
            Message = employeeInfo.Employeename + " Information not Saved ";
        }
        con.Close();
        return Message;
     }
   }
 }

我認為這可能對您有幫助

謝謝

喬·喬治

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM