创建WCF项目遇到的问题和解决办法续(二)
来源:互联网 发布:淘宝店铺认证复核几项 编辑:程序博客网 时间:2024/05/04 21:03
问题3 基地址baseAddress和终节点地址的区别
我是这样想的,baseAddress就相当于火车站售票大厅的地址,而终节点地址就是售票大厅中某一个窗口的地址,契约就是退票、订票、签票这样的服务名目。服务就是具体的退票、订票和签票的操作服务。绑定就是通过什么方式把票给你。一个终结点配置就是告诉你,你到底是退、定还是签票,你要在哪里“退/定/签”票、通过什么方式把“票/退的钱"给你.
好吧,理解比较粗浅哈。。。
问题 4 报错: ServiceMetadataBehavior的 HttpsGetEnabled 属性设置为 Ture, * 而 HttpsGetUrl 属性是相对地址,但没有 https 基址。请提供 https 基址或将 HttpsGetUrl 设置为绝对地址。
由于前台总是找不出错误在哪,就尝试用编程方式配置,代码如下:
//基地址
Uri baseAddress = new Uri("http://localhost:8000/WcfService1/");
ServiceHost host = new System.ServiceModel.ServiceHost(typeof(WcfService1.BookService), baseAddress);
//绑定方式
BasicHttpBinding basicHttpBingding = new BasicHttpBinding();
//终结点
Uri address = new Uri("http://localhost:8000/BookService/");
host.AddServiceEndpoint(typeof(WcfService1.IBookService),basicHttpBingding,address);
//元数据
ServiceMetadataBehavior metadataBehavior ;
metadataBehavior = host.Description.Behaviors.Find<ServiceMetadataBehavior>();
if (metadataBehavior == null)
{
metadataBehavior = new ServiceMetadataBehavior();
metadataBehavior.HttpsGetEnabled = true;
host.Description.Behaviors.Add(metadataBehavior);
}
host.Open();
将HttpsGetEnabled改成HttpGetEnabled,就好了
问题5:报错:服务“WcfService1.BookService”有零个应用程序(非基础结构)终结点。这可能是因为未找到应用程序的配置文件,或者在配置文件中未找到与服务名称匹配的服务元素,或者服务元素中未定义终结点。
虽然编程方式可以运行了,但还是不甘心为什么使用配置文件程序就是运行不了,因此静下心来好好看了一下这个报错内容。
配置文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="WcfService1.BookService" behaviorConfiguration="WcfService1">
<host>
<baseAddresses>
<add baseAddress="http://localhost:7377/WcfService1"/>
</baseAddresses>
</host>
<endpoint address="http://localhost:7377/BookService"
binding="basicHttpBinding"
contract="WcfService1.IBookService"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WcfService1">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
基地址没错,终节点配置也没错,behaviors配置也没错,难道是因为这个配置文件程序读不到?因此尝试在这个宿主项目下添加了一个应用文件配置文件"App.Config",将这些内容复制进去,就运行通了!!气结了,找了这么长时间的错误原来这么低级!!
实话说快被这个配置文件折腾死了,想来还是代码配置方便很多。
奇怪为什么我学习每一门新的编程技术时都会遇到这么多稀奇古怪的问题,也只能安慰自己:通过出现问题解决问题也许会学的更快更扎实一些吧。
- 创建WCF项目遇到的问题和解决办法续(二)
- VS2005创建Web项目时遇到的问题及解决办法
- 用xcode6新建项目时遇到的问题和解决办法
- 创建WCF服务项目遇到的问题以及解决方法
- idea创建项目步骤和遇到的问题登录代码
- 项目合作遇到的问题及解决办法
- 2014-10-22遇到的问题----Android创建第一个项目出现appcompat_v7工程的解决办法
- 做项目时遇到的几个关于C#和SQL的细节问题(二)
- First WCF遇到的问题
- intellij创建maven项目遇到的问题
- ionic创建项目遇到的一些问题
- ionic2项目创建遇到的问题
- 创建maven项目及遇到的问题
- 创建maven web项目遇到的问题
- Android学习(二)--第二个项目遇到的问题
- 商城项目遇到的问题记录(二)
- 工作遇到的问题和解决办法1
- 工作遇到的问题和解决办法2
- java设计模式
- test
- JSF标签的使用2
- MTK6573电源管理(PM)小结
- 编译找不到且不能升级vc90.pdb文件解决方法
- 创建WCF项目遇到的问题和解决办法续(二)
- jsf基础使用方法
- 树的递归查找
- 为什么拷贝构造函数必须为引用传递,不能是值传递?
- git 恢复文件
- JS 循环遍历JSON数据 .
- 查看端口是否开放
- SGI STL 的内存管理
- XMLHttpRequest 跨域访问