zoukankan      html  css  js  c++  java
  • WCF TOOL CODE

    1.HTML
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WCFTool.aspx.cs" Inherits="HraWeb.工具页面.WCFTool" %>
    
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
         <label>请输入接口(包含程序集):</label>    <asp:TextBox ID="txt_Interface_" runat="server" Width="500"></asp:TextBox>
            <br />
            <label>请输入类(包含程序集):</label>
            <asp:TextBox ID="txt_Class_" runat="server" Width="500"></asp:TextBox>
    
            <br />
            <label>请输入ip:</label>
            <br />
            <asp:TextBox ID="txt_Ip_" runat="server"></asp:TextBox>
    
            <label>请输入端口:</label>
            <asp:TextBox ID="txt_Port_" runat="server"></asp:TextBox>
    
            <br />
            <asp:Button ID="Button1" runat="server" Text="生成wcf配置" OnClick="Button1_Click" />
            <br />
            
            <label>WCFEndPointProxy:</label>
            <br />
             <asp:TextBox ID="txt_WCFEndPointProxy_" runat="server" TextMode="MultiLine" Height="200" Width="1200"></asp:TextBox>
            <p></p>
            <label>ClientEndPoint:</label>
            <p></p> 
            <asp:TextBox ID="txt_ClientEndPoint_" runat="server" TextMode="MultiLine" Width="1200" Height="100" ></asp:TextBox>
             <p></p>
            <label>BLL.xml</label>
           <br />
            <asp:TextBox ID="txt_BLL_" runat="server" TextMode="MultiLine" Height="100" Width="1200"></asp:TextBox>
            <p></p>
            <label>ServiceEndPoint:</label>
             <p></p>
            <asp:TextBox ID="txt_ServiceEndPoint_" runat="server" TextMode="MultiLine" Height="100" Width="1200"></asp:TextBox>
            <p></p>
            <label>SVC:</label>
            <br />
            <asp:TextBox ID="txt_SVC_" runat="server" TextMode="MultiLine" Width="1200" Height="100"></asp:TextBox>
            <br />
            <label>proxyclass:</label>
            <br />
            <asp:TextBox ID="txt_ProxyClass_" runat="server" TextMode="MultiLine" Width="1200" Height="200"></asp:TextBox>
    
          <asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Width="1200" Height="200" ></asp:TextBox>
        </div>
        </form>
    </body>
    </html>
    
    2..CS
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace HraWeb.工具页面
    {
        public partial class WCFTool : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
    
                string ip = txt_Ip_.Text.Trim();
                string port = txt_Port_.Text.Trim();
                string FullName = txt_Class_.Text.Split(',')[0].Trim();
                string className = FullName.Split('.')[FullName.Split('.').Length - 1].Trim();
                string classAssembly = txt_Class_.Text.Split(',')[1].Trim();
                string interfaceName = txt_Interface_.Text.Split(',')[0].Trim();
                string iterfaceClassName = interfaceName.Split('.')[interfaceName.Split('.').Length - 1];
                string interfaceAssembly = txt_Interface_.Text.Split(',')[1].Trim();
                txt_WCFEndPointProxy_.Text = $@"
                                                <object id=""{className}Proxy_{ip}_{port}"" type = ""{interfaceName},{interfaceAssembly}""
                                                            factory-object = ""{className}ChannelFactory_{ip}_{port}""
                                                            factory-method = ""CreateChannel"" singleton =""false""/>
                                              <!--工厂-->
                                              <object id = ""{className}ChannelFactory_{ip}_{port}""
                                               type = ""System.ServiceModel.ChannelFactory&lt;{interfaceName}>, System.ServiceModel"">
                                            <constructor-arg name = ""endpointConfigurationName"" value = ""{className}_IContract_{ip}_{port}""/>
                                               </object>";
    
    
                txt_ClientEndPoint_.Text = $@"
                                             <endpoint address = ""http://{txt_Ip_.Text.Trim()}:{txt_Port_.Text.Trim()}/SVC/{className}.svc""
                                              binding = ""wsHttpBinding""
                                              bindingConfiguration = ""bindCfg_http""
                                              contract = ""{interfaceName}""
                                              name = ""{className}_IContract_{ip}_{port}""/>";
    
                txt_BLL_.Text = $@"<object id = ""{className}"" type = ""{FullName}, {classAssembly}"" >
                                   < property name = ""Dao"" ref= ""CommonService"" />
                                    </object>";
    
                txt_ServiceEndPoint_.Text = $@"
                                     <service name=""{className}"" behaviorConfiguration = ""ServiceBehavior_DIC"">
                                       <endpoint address = """" contract = ""{interfaceName}"" binding = ""wsHttpBinding"" bindingConfiguration = ""bindCfg_http""/>
                                      </service>";
    
                txt_SVC_.Text = $@"<%@ ServiceHost Language =""C#"" Debug = ""true"" Service = ""{className}"" Factory = ""Spring.ServiceModel.Activation.ServiceHostFactory""%>";
    
                txt_ProxyClass_.Text = $@"public class {className}Proxy :
                                          ServiceProxyBase<{iterfaceClassName}>
                                         {{
                                            public override string ServieName
                                            {{
                                                get
                                                {{
                                                    return ""{className}"";
                                                }}
                                            }}
    
    
                                        }}";
    
                            TextBox2.Text = $@" 服务类请加上:[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
                    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
                    接口契约请加上[ServiceContract]
                    接口方法[OperationContract];     
                ";
        }
        }
    }
  • 相关阅读:
    前言(CSDN也有Markdown了,好开森)
    One usage of recurison: the tower of Hanoi
    使用Android注解来改善代码
    mysql生产环境____主从同步修复案例
    不同类型的指针
    C++ 对象模型
    为什么需要模版成员方法
    理解 traits
    C++ 异常处理
    传const引用代替传值
  • 原文地址:https://www.cnblogs.com/kexb/p/8184322.html
Copyright © 2011-2022 走看看