ビジュアルWebパーツSharepoint 2010のサンドボックスからAzure WCFサービスを呼び出す際に問題があります。インストールされているすべてのローカルコンピュータWindows 7 64 Ultimate - Sharepoint Foundation 2010 Azure SDKを使用したVisual Studio 2010ローカルのAzureエミュレータから始まるWebサービス。ローカルコンピュータのWebパーツ。私はスタンダールマスターを使用する場合 のapp.configを生成するWebパーツに、「サービス参照の追加」、そして投げるエラー:Azure WCF Service + Sharepoint 2010サンドボックスビジュアルWebパーツ=エラー
ServiceReference1.Service1Client serv = new ServiceReference1.Service1Client();
Label1.Text = serv.GetData(9);
ServiceModelで契約「ServiceReference1.IService1」を参照して、デフォルトのエンドポイント要素を見つけることができませんでしたクライアント構成セクション。 これは、アプリケーションに設定ファイルが見つかりませんでした。または、この契約に一致するエンドポイント要素がクライアント要素内に見つからなかった可能性があります。
私はプログラム的に接続を作成 -
EndpointAddress adr = new EndpointAddress(new Uri("http://127.0.0.1:81/Service1.svc"));
BasicHttpBinding basic = new BasicHttpBinding();
ChannelFactory<ServiceReference1.IService1Channel> fact = new ChannelFactory<ServiceReference1.IService1Channel>(basic, adr);
Label1.Text = fact.CreateChannel().GetData(8);
スローエラー:タイプの許可を
要求「System.Net.WebPermission、システム、バージョン= 2.0.0.0、文化=中立、PublicKeyToken = b77a5c561934e089 "となります。
app.configをWebパーツ:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://127.0.0.1:81/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="ServiceReference1.IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
</configuration>
web.configファイルAzureのWCFサービス:
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<!-- To collect diagnostic traces, uncomment the section below or merge with existing system.diagnostics section.
To persist the traces to storage, update the DiagnosticsConnectionString setting with your storage credentials.
To avoid performance degradation, remember to disable tracing on production deployments.
<system.diagnostics>
<sharedListeners>
<add name="AzureLocalStorage" type="WCFServiceWebRole1.AzureLocalStorageTraceListener, WCFServiceWebRole1"/>
</sharedListeners>
<sources>
<source name="System.ServiceModel" switchValue="Verbose, ActivityTracing">
<listeners>
<add name="AzureLocalStorage"/>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="Verbose">
<listeners>
<add name="AzureLocalStorage"/>
</listeners>
</source>
</sources>
</system.diagnostics> -->
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
P.S. AzureとSharepoint Onlineの両方の作業を展開すると、エラーが再び発生します。プログラムで接続を作成するのは、サンドボックスの ソリューションのapp.configがWebパーツとともにデプロイされていないためです.Web.config Sharepoint 2010でコードを複製する必要がありますが、Sharepoint Onlineではこのファイルが開発者からクローズされています。