【问题标题】:Wcf Service Accessing database Access for all所有人的 Wcf 服务访问数据库访问
【发布时间】:2014-09-15 15:45:34
【问题描述】:

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

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

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

如果我需要在某个地方设置我的凭据以使其公开,这很好吗?

请推荐!!

谢谢, Ankit

【问题讨论】:

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


    【解决方案1】:

    要将数据插入数据库,您需要在包含两个部分的 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;
         }
       }
     }
    

    我觉得这对你有帮助

    谢谢

    乔姆·乔治

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多