Wcf服务访问所有人的数据库访问

时间:2014-09-15 15:45:34

标签: database entity-framework wcf asp.net-mvc-4

我有一种情况,我使用的是mvc客户端,并且有一个wcf服务的web引用,在wcf服务中我正在使用Entity框架并使用一些数据库。

现在我想将这个mvc解决方案用于多个用户进行培训,但它不允许,因为它们不具有服务器的数据库访问权限。

他们有什么方法可以使用解决方案并通过服务方法访问数据库吗?

如果我需要在某个地方设置我的信用卡以公开它,那很好吗?

请建议!!

谢谢, ANKIT

1 个答案:

答案 0 :(得分:0)

要将数据插入数据库,您需要在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;
     }
   }
 }

我认为这可能会对你有所帮助

谢谢

Jom George